Excel VBA Заменить функцию

Как и в Excel, у нас есть функция, в которой мы можем найти и заменить любое слово, символ или предложение любой буквой. Но с помощью этого процесса мы можем заменить только один вид предложения или буквы за раз. С помощью функции замены VBA мы можем заменить столько слов, букв или предложений за один раз. Это экономит огромное время и усилия при выполнении одного действия несколько раз. Для этого мы будем использовать функцию Replace, которая есть в списке встроенных функций VBA.

Ниже синтаксис и аргумент функции замены в VBA.

Как использовать функцию замены Excel VBA?

Мы узнаем, как использовать функцию VBA Replace Excel, с несколькими примерами.

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

Функция замены VBA - пример № 1

У нас есть примеры данных некоторых предложений, где мы заменим одно слово и вставим это обновленное предложение в столбец предложения B.

Выполните следующие шаги, чтобы использовать функцию замены в Excel VBA.

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

Шаг 2: Теперь напишите подкатегорию в названии выполняемой функции или в любом имени по вашему выбору, как показано ниже.

Код:

 Sub VBA_Replace2 () End Sub 

Шаг 3: Теперь определите измерение как Long, так как мы будем выбирать полное предложение. Здесь мы приняли это как X.

Код:

 Sub VBA_Replace2 () Dim X As Long End Sub 

Шаг 4: Теперь в этом длинном X выберите максимальный диапазон, до которого наши данные могли бы подняться. Здесь мы взяли в качестве диапазона ячеек A1000 и для увеличения до тех пор, пока наши данные не начнут использовать End (xlUp) с последующей точкой (.) Row. Это означает, что мы будем двигаться в том же столбце до той строки, в которой есть данные. Этот процесс в жизни Ctrl + стрелка вверх в Excel.

Код:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp) .Row End Sub 

Примечание . Мы можем выбрать End (xlDown), но он не может добавить разрыв или пустую ячейку между данными, если они есть.

Шаг 5: Теперь снова определите еще одно измерение Y как Long, как показано ниже.

Код:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row Dim Y As Long End Sub 

Шаг 6: Теперь запустите цикл For Next для второго определенного измерения Y от положения ячейки 2 до диапазона X (последняя заполненная ячейка)

Примечание. Выбор ячейки 2 означает, что мы не рассматриваем здесь заголовок для замены.

Код:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Ряд Dim Y As Long для Y = 2 To X Next Y End Sub 

Шаг 7: Теперь выберите значение столбца B в качестве диапазона как Y, а затем точку (.), Это похоже на вставку функции в Excel.

Код:

 Sub VBA_Replace2 () Dim X As Long X = Range ("A1000"). End (xlUp). Row Dim Y As Long для диапазона Y = 2 до X ("B" и Y). Значение = Next Y End Sub 

Шаг 8: Теперь, как мы видели в синтаксисе VBA функции Replace выше, теперь введите Replace и выберите Столбцы A и Y в качестве первого выражения строки, за которым следуют слова, которые нам нужно заменить из таблицы.

Код:

 Sub VBA_Replace2 () Dim X As Long X = диапазон ("A1000"). Конец (xlUp). Строка Dim Y As Long для диапазона Y = 2 до X ("B" и Y). Значение = Заменить (Range ("A "& Y), " Дели ", " Нью-Дели ") Next Y End Sub 

Шаг 9: Теперь скомпилируйте полный код и запустите. Как только мы это сделаем, слово «Дели» из предложения А теперь будет заменено произведением «Нью-Дели», и все предложение будет скопировано в предложение В.

Мы можем выбрать строку слов или предложение и заменить его любыми необходимыми буквами или предложением.

Функция замены VBA - пример № 2

Есть другой способ заменить слова или предложения с помощью кодирования VBA. Для этого у нас есть список из 7 предметов, которые повторяются. И нам нужно заменить эти имена субъектов с добавлением серийных номеров перед каждым именем субъекта, как показано ниже.

Как мы можем видеть на скриншоте выше, столбец E содержит уникальные имена тех субъектов, которые есть в столбце B, а в столбце F - имена субъектов с серийным номером в начале.

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

Шаг 1: Теперь перейдите в VBA и из меню Вставка добавьте новый модуль. Как только мы это получим, начните писать подкатегорию в названии функции, которая выполняется, как показано ниже.

Код:

 Sub VBA_Replace () End Sub 

Шаг 2: Теперь рассмотрим измерение Rng как Range, InputRng как Range и ReplaceRng как Range. Вы можете выбрать любые другие буквы или слова для определения диапазонов.

Код:

 Sub VBA_Replace () Dim Rng как диапазон Dim InputRng как диапазон, ReplaceRng как конец диапазона 

Шаг 3: Теперь используйте xTitleId в качестве диалогового окна и присвойте ему имя. Здесь мы назвали его « VBA_Replace ».

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в виде диапазона xTitleId = "VBA_Replace" End Sub 

Шаг 4. Теперь назначьте Application.Selection с InputRng, это позволит выбранному приложению использоваться в VBA.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection End Sub 

Шаг 5: Теперь в следующей строке вставьте InputBox 3 типов, Original range, xTitleId и InputRng. Исходный диапазон - это список тем, которые необходимы для замены, перечислены в столбце B. xTitledId - это имена диалоговых окон в выполняемой функции. И InputRng представляет собой диапазон таблицы данных в столбцах E и F.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection Установить InputRng = Application.InputBox ("Исходный диапазон", xTitleId, InputRng.Address, Type: = 8) End Sub 

Шаг 6: Теперь в следующей строке назначьте вход для ReplaceRng и для этого выберите столбец Replace Range. Остальное как то же самое.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection Установить InputRng = Application.InputBox ("Исходный диапазон", xTitleId, InputRng.Address, Type: = 8) Set ReplaceRng = Application.InputBox («Заменить диапазон:», xTitleId, Type: = 8) End Sub 

Шаг 7: Теперь мы будем использовать функцию Application.Screenupdating, так как название говорит, что она используется для обновления, если она FALSE.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection Установить InputRng = Application.InputBox ("Исходный диапазон", xTitleId, InputRng.Address, Type: = 8) Установите ReplaceRng = Application.InputBox («Заменить диапазон:», xTitleId, Type: = 8) Application.ScreenUpdating = False End Sub 

Шаг 8: Теперь вставьте цикл For-Next . И для каждого диапазона Rng замените значения из столбца ReplaceRng.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection Установить InputRng = Application.InputBox ("Исходный диапазон", xTitleId, InputRng.Address, Type: = 8) Установить ReplaceRng = Application.InputBox («Заменить диапазон:», xTitleId, Type: = 8) Application.ScreenUpdating = False Для каждого Rng в ReplaceRng.Columns (1). Ячейки Next End Sub 

Шаг 9: Наконец замените InputRng значениями, представленными в Rng из всего листа.

Код:

 Sub VBA_Replace () Dim Rng в качестве диапазона Dim InputRng в качестве диапазона, ReplaceRng в качестве диапазона xTitleId = "VBA_Replace" Установить InputRng = Application.Selection Установить InputRng = Application.InputBox ("Исходный диапазон", xTitleId, InputRng.Address, Type: = 8) Установите ReplaceRng = Application.InputBox («Заменить диапазон:», xTitleId, Type: = 8) Application.ScreenUpdating = False для каждого Rng в ReplaceRng.Columns (1) .Cells InputRng.Replace what: = Rng.Value, replace: = Rng.Offset (0, 1). Значение, Lookat: = xlWhole Next End Sub 

Шаг 10: После этого скомпилируйте и запустите код. Мы получим и диалоговое окно от имени VBA_Replace. Отсюда выберите список предметов, которые нам нужно заменить на Original Range, и нажмите OK. Затем мы получим еще одну коробку и выберите диапазон замены от E2 до F8 . В этой таблице есть данные, которые необходимо заменить и нажмите ОК.

Мы получим Данные в столбце B, который будет заменен данными в столбце F на серийный номер.

Для обзора столбец E имеет уникальные имена субъектов. А в столбце F указаны имена субъектов с серийными номерами. Таким образом, эти данные в столбце B заменяются данными в столбце F.

Плюсы VBA Заменить функцию

  • Мы можем заменить несколько слов или предложений в одном кадре.
  • Нет ограничений на количество слов или текста, которые мы не можем заменить.
  • Синтаксис замены в VBA так же прост, как использование функции SumIf в Excel.
  • Заменить VBA, как показано в примере-1, - самый простой способ применения.

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

  • Сохранить как Marco Enabled Excel, чтобы избежать потери написанного кода в VBA.
  • Всегда рассматривайте измерения таким образом, чтобы они создавали добавленную стоимость, пока мы выбираем их в коде.
  • Убедитесь, что вы выбрали весь диапазон листа, как показано в примере 2, если он ограничен для получения результата. Или же вы можете определить и выбрать ограниченный диапазон ячеек, который будет использоваться в функции замены.

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

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

  1. Полное руководство по циклам VBA
  2. Как использовать VBA Do While Loop?
  3. Что такое числовой формат VBA?
  4. Как создать VBA MsgBox?

Категория: