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

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

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

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

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

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

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

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

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

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

Можете да изтеглите този шаблон за заместване на низове на Excel от VBA тук - VBA шаблон за заместване на низове на Excel

Пример # 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 или ръчно и ще видим новия резултат от низа.

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

Пример # 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 = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

В горния код съм декларирал допълнителни три променливи.

 Dim MyString As String Dim FindString As String Dim ReplaceString As 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” 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.