Заміна рядка VBA | Як замінити текст у рядку за допомогою VBA?

Замінити рядок Excel VBA

Заміна - це як функція робочого аркуша, так і функція VBA. Ця функція допомагає нам замінити конкретне слово із рядка іншим рядком. Він працює подібно до функції заміщення у VBA.

Маючи справу з тестовими значеннями рядків або текстових даних, очевидно, що щось замінити чи замінити чимось іншим, об’єднавши дві дані комірки в одну або розділивши одну комірку на кілька речей. Це всі загальні завдання, які ми виконуємо щодня на своєму робочому місці.

Отже, як ми замінюємо одне слово в рядку іншим словом? Наприклад, якщо рядок - «Індія - країна, що розвивається, а Індія - в азіатській країні», з цього рядка нам потрібно замінити слово «Індія» та замінено на «Бхарат».

Це можливо за допомогою функції Замінити. У цій статті ми покажемо вам, як замінити рядки в кодуванні VBA.

Функція заміни

  • Вираз: Це не що інше, як початкове значення рядка, з якого ми намагаємось щось замінити чимось. Для прикладу нижче наведено рядок виразу - "Індія - країна, що розвивається, а Індія - в країні Азії"
  • Знайти рядок: який рядок ми намагаємось замінити. Наприклад, у рядку " Вираз" ми намагаємось замінити слово "Індія".
  • Замінити рядок: Який рядок-замінник ми замінюємо на рядок пошуку ? Отже, у цьому випадку ми намагаємось замінити слово “Індія” на “Бхарат”.
  • [Початок]: Це необов’язковий параметр. У наведеному вище рядку (Вираз) у нас є два слова “Індія”, тому з якої позиції рядка пошуку нам потрібно розпочати процес заміни. Наприклад, якщо ми скажемо 2, це почне замінювати слово "Індія" з другої позиції і далі.
  • [Кількість]: Якщо рядок "Знайти" відображається кілька разів у виразі, скільки слів нам потрібно замінити.

Наприклад, якщо слово “Індія” з’являється 5 разів, і якщо ви вказали рахунок як 3, то воно замінить лише перші 3 слова “Індія”.

Як замінити текст у рядку за допомогою VBA?

Ви можете завантажити цей шаблон заміщення рядка VBA Excel тут - VBA замінити рядок шаблону Excel

Приклад №1

Тепер ми спробуємо замінити слово "Індія" на "Бхарат" із нижченаведеного рядкового значення.

"Індія - країна, що розвивається, а Індія - азіатська"

По-перше, запустіть процедуру макросу Excel зараз.

Код:

 Sub Replace_Example () Кінець Sub 

Визначте змінну VBA як String.

Код:

 Sub Replace_Example () Dim NewString As String End Sub 

У цій змінній ми покажемо нове значення рядка після заміни слова "Індія" на "Бхарат". Для цієї змінної відкрийте функцію Замінити.

Першим аргументом цієї функції є «Вираз», тобто з якого рядка ми намагаємось замінити слово, тому скопіюйте та вставте рядок «Індія - країна, що розвивається, а Індія - в азіатській країні».

Наступним аргументом є “Знайти рядок”, тобто яке слово нам потрібно замінити, тобто “Індія”.

Наступним аргументом є "Замінити рядок", тобто яким рядком нам потрібно замінити слово "Індія", тобто "Бхарат".

Гаразд, відтепер ігнорувати решту аргументів. Тепер покажіть результат у вікні повідомлення.

Код:

 Sub Replace_Example () Dim NewString As String NewString = Replace ("Індія - країна, що розвивається, а Індія - країна Азії", "Індія", "Bharath") MsgBox NewString End Sub 

Давайте запустимо код за допомогою клавіші F5 або вручну і побачимо новий результат рядка.

Гаразд, подивіться на наведений вище результат, де б у нас не було слова «Індія», воно було замінено словом «Бхарат».

Приклад №2

Тепер ми побачимо, як використовувати той самий код зі змінними. Подивіться на код нижче.

Код:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Індія є країною, що розвивається, а Індія - країною Азії" FindString = "Індія" ReplaceString = "Bharath" NewString = Замінити (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

У наведеному вище коді я оголосив додаткові три змінні.

 Dim MyString як рядок Dim DimString як рядок Dim Замінити String як рядок 

Для цих змінних я призначив значення, замість того, щоб подавати String String, Find String і Replace String, ми надаватимемо лише змінну функції Replace.

Цей код також дає той самий результат, але єдина різниця полягає в тому, що ми використовували змінні замість прямого надходження значень до функції.

Приклад №3

Припустимо, ви хочете замінити слово «Індія» лише з другої позиції, тоді нам потрібно використовувати параметр функції «Замінити» [«Пуск»]. Подивіться на код нижче для своєї інформації.

Код:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Індія - країна, що розвивається, а Індія - країна Азії" FindString = "Індія" ReplaceString = "Bharath" NewString = Замінити (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Лише одну додаткову річ, яку ми додали з попереднього коду, це параметр “Пуск” як 34. Тепер запустіть код і перегляньте результат.

Тепер ми можемо бачити лише рядок після 34-го символу рядка з “Індією”, що замінюється на “Бхарат”.

Приклад №4

Now for an example, if we want to replace only the first occurrence of the word “India” to “Bharath” then we need to use [“Count”] parameter of the Replace function.

Below is the code for you.

Code:

 Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub 

Run the code manually or through the F5 key and see the result.

As you can see above it has replaced only the first occurrence of the word “India” to “Bharath” and the second instance remains the same.

Things to Remember Here

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.