Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в MS Excel можно заменить сразу несколько значений на листе?

Fatroll Профи (623), закрыт 13 лет назад
Т.е. к примеру разбросаны по листу значение1, значение2, значение3, значение4 и т.д.
необходимо заменить значение1 - значениемА, значение2 - значениемB и т.д.
Стандартный поиск и замена меняет только по 1 значению..Так вот, как заменить их все сразу, подставив например массив "того, что нужно заменить" и массив "на что заменить" ?
Лучший ответ
Jimmyyong forum Профи (695) 13 лет назад
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
Остальные ответы
Мастер Гармонии Мыслитель (5369) 13 лет назад
Ну вообще-то вот так хитро прям заменить нельзя. можно извратиться через вложенные если (), но только если количество элементов в наборе не больше 7.

Если уж край как нужно и массив того, что нужно заменить одномерный, то можно извратнуться через выгрузку в базу данных, преобразование в ней и загрузку обратно в Эксель.
FatrollПрофи (623) 13 лет назад
хм, слишком жестоко, да.
жаль, что они не предусмотрели такой возможности
Мастер Гармонии Мыслитель (5369) Просто это нетривиальная задача линейного программирования. В БД все аж бегом. Так что правда, если очень нужно, то через промежуточный Access все получится. Если, конечно, Вы с ним общались раньше.
Abram Pupkin Гений (98159) 13 лет назад
меню: Правка=> заменить
Что: значение1
Заменить на: значениеА
заменить все

по предложенному образцу меняются значение2, значение3, значение4 и т. д.
Себор Мастер (1603) 13 лет назад
Выше - глупости написаны!
В Excel есть замечательная функция ЗАМЕНИТЬ. Выделите для нее один столбец, после укажите параметры, задайте массив и таблица будет динамически отслеживать ненужный текст и заменять его на нужный. В случае, когда условий несколько используйте функцию =ЕСЛИ (ИЛИ (... и т. д. Будут вопросы - пишите на мыло.
ПрофессорУченик (16) 5 месяцев назад
Допустим.
Задам немного другой вопрос, мне это тоже пригодится.
Я в таблицу сверху в столбец вставлю к примеру 200 ячеек с названиями. Как удалить дубликаты, чтобы остались только те ячейки которые я всатвил сверху?
Похожие вопросы