VBA заместващ низ - Как да заменим текста в низ с помощта на VBA?

Съдържание

Excel VBA замести низ

Replace е както функцията Worksheet, така и функцията VBA. Тази функция ни помага да заменим конкретната дума от низа с друг низ. Той работи подобно на функцията Substitute във VBA.

Докато се занимавате със стойности на тестови низове или текстови данни, очевидно е да замените или замените нещо с нещо друго, като обедините две клетъчни данни в една или разделите една клетка на множество неща. Това са често срещани задачи, които изпълняваме всеки ден на работното си място.

И така, как заместваме една дума в низа с друга дума? Например, ако низът е „Индия е развиваща се страна, а Индия в азиатската държава“ от този низ, трябва да заменим думата „Индия“ и променена на „Bharath“.

Това е възможно с помощта на функцията Замяна. В тази статия ще ви покажем как да замените низовете в VBA кодирането.

Заменете функцията

  • Израз: Това не е нищо друго освен оригиналната стойност на низа, от която се опитваме да заменим нещо с нещо. Например по-долу е низът на израза - „Индия е развиваща се страна, а Индия в азиатската държава“.
  • Find String: Какъв е низът, който се опитваме да заменим. Например в низа на израза се опитваме да заменим думата „Индия“.
  • Replace String: Какъв е заместващият низ, с който заместваме Find String ? Така че, в този случай се опитваме да заменим думата „Индия“ с „Bharath“.
  • (Старт): Това е незадължителен параметър. В горния низ (израз) имаме две думи, „Индия“, така че от коя позиция на Find String, трябва да започнем процеса на замяна. Например, ако кажем 2, тя ще започне да замества думата „Индия“ от втората позиция нататък.
  • (Брой): Ако низът за намиране се появи няколко пъти в израз, тогава колко думи трябва да заменим.

Например, ако думата „Индия“ се появява 5 пъти и ако посочите броя като 3, тогава тя ще замени само първите 3 думи „Индия“.

Как да заменим текста в низ с помощта на VBA?

Пример # 1

Сега ще се опитаме да заменим думата „Индия“ с „Bharath“ от стойността по-долу.

„Индия е развиваща се страна, а Индия в азиатската държава.“

Първо, стартирайте процедурата за макрос на Excel сега.

Код:

Sub Replace_Example () Край Sub

Дефинирайте променливата VBA като String.

Код:

Sub Replace_Example () Dim NewString As String End Sub

В тази променлива ще покажем нова низова стойност, след като заменим думата „Индия“ с „Bharath“. За тази променлива отворете функцията Замяна.

Първият аргумент на тази функция е „Expression“, т.е. от кой низ се опитваме да заменим дума, така че копирайте и поставете низа „Индия е развиваща се страна и Индия в азиатската държава“.

Следващият аргумент е „Намери низ“, т.е. коя дума трябва да заменим, т.е. „Индия“.

Следващият аргумент е „Replace String“, т.е. с кой низ трябва да заменим думата „Индия“, т.е. „Bharath“.

Добре, от сега игнорирайте останалите аргументи. Сега покажете резултата в полето за съобщения.

Код:

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 As String Dim FindString As String Dim ReplaceString As 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 -ия знак на низа с „Индия“, заместващ с „Bharath“.

Пример # 4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“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 е семейство на низ функции във VBA.
  • Във VBA функцията за заместване замества всички предоставени думи със заменен низ, ако параметърът count не е посочен.
  • Началният параметър ще изтрие броя на предоставените знаци и ще покаже останалия резултат.

Интересни статии...