Excel VBA Найти и заменить

Вы когда-нибудь задумывались об автоматизации функции поиска и замены в Excel. В VBA мы можем создать макрос, который можно использовать для поиска и замены всего, что мы обычно делаем в Excel, путем нажатия сочетаний клавиш Ctrl + H. С помощью VBA Find and Replace мы можем автоматизировать поиск любого слова и заменить его другим замещением. Это помогает, когда нам нужно выполнить одно и то же действие несколько раз.

Как найти и заменить слова в Excel VBA?

Ниже приведены различные примеры, чтобы найти и заменить слова в Excel, используя код VBA.

Вы можете скачать этот шаблон VBA для поиска и замены Excel здесь - VBA для поиска и замены шаблона Excel

VBA Find and Replace - пример № 1

В очень простом примере у нас есть набор данных, который состоит из некоторого имени. И некоторые имена повторяются, как показано ниже.

Теперь мы создадим код, по которому мы найдем любое повторяющееся имя и заменим его чем-то другим. Для этого выполните следующие шаги.

Шаг 1: Перейдите в меню « Вставка» в VBA и выберите « Модуль», как показано ниже.

Шаг 2: Как только мы это сделаем, мы откроем новый модуль. В этом модуле напишите подкатегорию от имени VBA Find and Replace, или вы можете выбрать любое имя этой подкатегории.

Код:

 Sub Find_Replace1 () End Sub 

Шаг 3: Поскольку у нас есть данные в столбце B от ячейки B2 до B10, мы сначала выберем этот диапазон из B2: B10.

Код:

 Sub Find_Replace1 () Range ("B2: B10"). Replace End Sub 

Шаг 4: Теперь, чтобы заменить что-то, нам нужно искать это слово. Здесь также мы сначала выберем функцию Replace, чтобы посмотреть, что нам нужно заменить.

Код:

 Sub Find_Replace1 () Range ("B2: B10"). Replace End Sub 

Согласно синтаксису функции Replace, мы найдем то, что нам нужно заменить.

Шаг 5: Давайте выберем имя из списка « Бен » как то, что нам нужно заменить.

Код:

 Sub Find_Replace1 () Range ("B2: B10"). Replace What: = "Ben" End Sub 

Шаг 6: Теперь выберите слово для замены, которым мы должны заменить выбранное слово. Здесь мы решили заменить имя Бен на Сэма, который упоминается как Замена, как показано ниже.

Код:

 Sub Find_Replace1 () Range ("B2: B10"). Replace What: = "Ben", Replacement: = "Sam" End Sub 

Шаг 7: Теперь скомпилируйте код и запустите его, нажав на кнопку Play или нажав клавишу F5, как показано ниже.

Мы увидим, что все ячейки, содержащие имя Бена, теперь заменены именем Сэм . И это также выделено желтым цветом.

VBA Find and Replace - пример № 2

Мы все, возможно, столкнулись с ситуацией, когда мы пытались найти и заменить некоторые слова буквами с учетом регистра. Предположим, в списке, если мы хотим заменить только то слово, которое имеет несколько строчных или прописных букв. И если мы используем процесс, который мы видели в примере 1, то мы в конечном итоге заменим все подобные слова в этом списке вместе с требуемым. Этот процесс не может быть выполнен с помощью функции поиска и замены (Ctrl + H) в Excel. Для этого у нас есть положение в VBA.

Давайте рассмотрим ниже данные для этого. Как мы видим, мы специально добавили слово BEN в верхнем регистре в ячейку B2.

Выполните следующие шаги, чтобы найти и заменить слово BEN.

Шаг 1: Запустите подкатегорию VBA Find and Replace там, как показано ниже.

Код:

 Sub Find_Replace2 () End Sub 

Шаг 2: Выберите список как Диапазон от B2 до B10.

Код:

 Sub Find_Replace2 () Range ("B2: B10") End Sub 

Шаг 3: Теперь выберите точное слово, которое мы хотим заменить. Здесь мы выбрали BEN, который находится в ячейке B2.

Код:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN" End Sub 

Шаг 4: Опять же, мы выбрали то же слово, которое мы видели в примере 1, в качестве замены BEN, чем Сэм .

Код:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam" End Sub 

Шаг 5: Теперь для замены точного слова BEN нам нужно использовать MatchCase, если оно становится TRUE, как показано ниже.

Код:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam", MatchCase: = True End Sub 

MatchCase поможет нам определить то слово, которое мы хотим заменить точным соответствием. Здесь слово, которое мы выбрали, это BEN в верхнем регистре, а в списке есть и другие подобные слова, но в правильном.

Шаг 6: Теперь запустите код, нажав на кнопку Play или нажав клавишу F5.

Мы увидим, что слово BEN, которое было в ячейке B2, теперь заменено словом « Sam », выделенным желтым цветом. И подобные слова Бен, которые расположены в ячейках B5 и B8 соответственно, все еще остаются неизменными.

Вот как работает точное совпадение.

Шаг 7: Теперь мы удалим добавленный MatchCase из приведенного выше кода и посмотрим, как это будет работать.

Код:

 Sub Find_Replace2 () Range ("B2: B10"). Replace What: = "BEN", Replacement: = "Sam", MatchCase: = True End Sub 

Шаг 8: Снова скомпилируйте и запустите код.

Мы увидим, что код заменил все ячейки, содержащие слово Ben, как показано выше. Это означает, что после удаления MatchCase код будет работать, как мы видели в примере 1.

Плюсы Excel VBA Найти и заменить

  • Основное обучение заключается в том, что мы можем заменить регистрозависимые слова и содержимое ячеек с помощью VBA Find and Replace, как показано в примере-2.
  • Если действие повторяется вручную и несколько раз, то автоматизация будет преимуществом в экономии времени и усилий.
  • Даже если у нас есть огромный набор данных, в котором мы хотим заменить определенные слова, это можно сделать, не нарушая Excel в громоздких файлах.

То, что нужно запомнить

  • Мы можем создать макрос функции Find and Replace с помощью опции Record Macro на вкладке Developer. Это самый простой способ создать макрос, если вы новичок в кодировании.
  • Сохранение файла в формате Macro Enable Excel позволит в будущем использовать код.
  • Мы можем заменить любой вид текста, слова, числа или символа VBA Find and Replace.

Рекомендуемые статьи

Это руководство по VBA Find and Replace. Здесь мы обсудим, как найти и заменить слова в Excel с помощью VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA Break для Loop
  2. ЗАМЕНА Формулы в Excel
  3. Полное руководство VBA Find
  4. НАЙТИ функцию в Excel

Категория: