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
Шаг 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. Вы также можете просмотреть наши другие предлагаемые статьи -
- Полное руководство по циклам VBA
- Как использовать VBA Do While Loop?
- Что такое числовой формат VBA?
- Как создать VBA MsgBox?