Программное обеспечение
Как в MS Excel можно заменить сразу несколько значений на листе?
Т.е. к примеру разбросаны по листу значение1, значение2, значение3, значение4 и т.д. необходимо заменить значение1 - значениемА, значение2 - значениемB и т.д. Стандартный поиск и замена меняет только по 1 значению..Так вот, как заменить их все сразу, подставив например массив "того, что нужно заменить" и массив "на что заменить" ?
Cоздаешь макрос, текст которого приведен ниже. С этим макросом можешь заменять хоть тысячу значений одним нажатием.
Sub Макрос1()
tm = 10 'Количество заменяемых значений
Dim Zam_W: ReDim Zam_W(tm) 'Массив для храниея "ЧТО заменяем"
Dim Zam_T: ReDim Zam_T(tm) 'Массив для храниея "Чем заменяем"
'Перечисляем ЧТО и ЧЕМ заменяем
Zam_W(1) = "Значение 1" 'ЧТО заменяем
Zam_T(1) = "Значение А" 'ЧЕМ заменяем
Zam_W(2) = "Значение 2" 'ЧТО заменяем
Zam_T(2) = "Значение В" 'ЧЕМ заменяем
'Производим замену путем обращения к функции "Zamena"
For i = 1 To tm
If Zam_W(i) <> 0 Then Call Zamena(Zam_W(i), Zam_T(i))
Next i
End Sub
'Функция замены
Function Zamena(z_21, z_22)
Cells.Replace What:=z_21, replacement:=z_22, MatchCase:=True
End Function
Sub Макрос1()
tm = 10 'Количество заменяемых значений
Dim Zam_W: ReDim Zam_W(tm) 'Массив для храниея "ЧТО заменяем"
Dim Zam_T: ReDim Zam_T(tm) 'Массив для храниея "Чем заменяем"
'Перечисляем ЧТО и ЧЕМ заменяем
Zam_W(1) = "Значение 1" 'ЧТО заменяем
Zam_T(1) = "Значение А" 'ЧЕМ заменяем
Zam_W(2) = "Значение 2" 'ЧТО заменяем
Zam_T(2) = "Значение В" 'ЧЕМ заменяем
'Производим замену путем обращения к функции "Zamena"
For i = 1 To tm
If Zam_W(i) <> 0 Then Call Zamena(Zam_W(i), Zam_T(i))
Next i
End Sub
'Функция замены
Function Zamena(z_21, z_22)
Cells.Replace What:=z_21, replacement:=z_22, MatchCase:=True
End Function
меню: Правка=> заменить
Что: значение1
Заменить на: значениеА
заменить все
по предложенному образцу меняются значение2, значение3, значение4 и т. д.
Что: значение1
Заменить на: значениеА
заменить все
по предложенному образцу меняются значение2, значение3, значение4 и т. д.
Ну вообще-то вот так хитро прям заменить нельзя. можно извратиться через вложенные если (), но только если количество элементов в наборе не больше 7.
Если уж край как нужно и массив того, что нужно заменить одномерный, то можно извратнуться через выгрузку в базу данных, преобразование в ней и загрузку обратно в Эксель.
Если уж край как нужно и массив того, что нужно заменить одномерный, то можно извратнуться через выгрузку в базу данных, преобразование в ней и загрузку обратно в Эксель.
Выше - глупости написаны!
В Excel есть замечательная функция ЗАМЕНИТЬ. Выделите для нее один столбец, после укажите параметры, задайте массив и таблица будет динамически отслеживать ненужный текст и заменять его на нужный. В случае, когда условий несколько используйте функцию =ЕСЛИ (ИЛИ (... и т. д. Будут вопросы - пишите на мыло.
В Excel есть замечательная функция ЗАМЕНИТЬ. Выделите для нее один столбец, после укажите параметры, задайте массив и таблица будет динамически отслеживать ненужный текст и заменять его на нужный. В случае, когда условий несколько используйте функцию =ЕСЛИ (ИЛИ (... и т. д. Будут вопросы - пишите на мыло.
Похожие вопросы
- Помогите ответить на вопросы MS Excel (последний)
- Подскажите, как использовать функцию СЧЕТЕСЛИ в Excel если диапазоп ячеек находится на разных листах.
- Почему у меня MS Excel очень долго запускается, в то время, как остальные программы MS Office запускаются моментально?
- Как в MS Excel 2007 решить проблему с длинными формулами?
- Здравствуйте! Помогите с задачей в ms Excel!!!
- Ms Excel 2010 сводные таблицы, функция впр
- MS Excel.Что такое абсолютная, относительная и смешанная адресации
- Вопрос по MS Excel (Удаление дубликатов)
- А можно сразу несколько Антивирусов иметь в компе? NOD32, Касперский и Доктор веб?
- Насколько оправдано применение на компе, сразу несколько программ-антивирусников?
жаль, что они не предусмотрели такой возможности