VBA Zastąp ciąg - Jak zamienić tekst w ciągu za pomocą VBA?

Spisie treści

Excel VBA Zastąp ciąg

Zastąp to zarówno funkcja arkusza roboczego, jak i funkcja VBA. Ta funkcja pomaga nam zamienić określone słowo z ciągu na inny ciąg. Działa podobnie do funkcji Substitute w VBA.

Podczas zajmowania się ciągiem testowym lub wartościami danych tekstowych oczywistą rzeczą jest zastąpienie lub zastąpienie czegoś innym, łączenie danych dwóch komórek w jedną lub dzielenie danych jednej komórki na wiele rzeczy. To wszystkie typowe zadania, które wykonujemy każdego dnia w naszym miejscu pracy.

Jak więc zastąpić jedno słowo w ciągu innym słowem? Na przykład, jeśli ciąg z tego ciągu brzmi „Indie są krajem rozwijającym się, a Indie są krajem azjatyckim”, musimy zastąpić słowo „Indie” i zmienić na „Bharat”.

Jest to możliwe dzięki funkcji Zamień. W tym artykule pokażemy, jak zamienić ciągi znaków w kodowaniu VBA.

Zastąp funkcję

  • Wyrażenie: to nic innego jak oryginalna wartość ciągu, z której próbujemy coś zastąpić. Na przykład poniżej znajduje się ciąg wyrażenia - „Indie to kraj rozwijający się, a Indie to kraj azjatycki”.
  • Znajdź ciąg: jaki ciąg próbujemy zastąpić. Na przykład w ciągu wyrażenia próbujemy zamienić słowo „Indie”.
  • Zastąp ciąg: Czym jest zastępczy ciąg, którym zastępujemy ciąg wyszukiwania ? Dlatego w tym przypadku próbujemy zastąpić słowo „Indie” słowem „Bharat”.
  • (Start): to jest parametr opcjonalny. W powyższym ciągu (Expression) mamy dwa słowa „India”, więc od której pozycji szukanego ciągu musimy rozpocząć proces zamiany. Na przykład, jeśli powiemy 2, słowo „Indie” zacznie zastępować od drugiej pozycji.
  • (Count): Jeśli szukany ciąg pojawia się wiele razy w wyrażeniu, to ile słów musimy zamienić.

Na przykład, jeśli słowo „Indie” pojawi się 5 razy i podasz liczbę jako 3, zastąpi ono tylko pierwsze 3 słowa „Indie”.

Jak zamienić tekst w ciągu za pomocą VBA?

Przykład 1

Teraz spróbujemy zamienić słowo „Indie” na „Bharat” z poniższej wartości ciągu.

„Indie to kraj rozwijający się, a Indie to kraj azjatycki”.

Najpierw uruchom teraz procedurę makra programu Excel.

Kod:

Sub Replace_Example () End Sub

Zdefiniuj zmienną VBA jako ciąg.

Kod:

Sub Replace_Example () Dim NewString As String End Sub

W tej zmiennej pokażemy nową wartość ciągu po zastąpieniu słowa „Indie” słowem „Bharat”. W przypadku tej zmiennej otwórz funkcję Replace.

Pierwszym argumentem tej funkcji jest „Wyrażenie”, czyli ciąg znaków, z którego próbujemy zamienić słowo, więc skopiuj i wklej ciąg „Indie to kraj rozwijający się, a Indie - kraj azjatycki”.

Następnym argumentem jest „Znajdź ciąg”, czyli słowo, które musimy zamienić, np. „Indie”.

Następnym argumentem jest „Zamień ciąg”, czyli jakim ciągiem musimy zamienić słowo „Indie”, czyli „Bharat”.

Ok, na razie ignoruj ​​pozostałe argumenty. Teraz pokaż wynik w oknie komunikatu.

Kod:

Sub Replace_Example () Dim NewString As String NewString = Replace ("Indie to kraj rozwijający się, a Indie to kraj azjatycki", "India", "Bharath") MsgBox NewString End Sub

Uruchommy kod za pomocą klawisza F5 lub ręcznie i zobaczmy nowy wynik w postaci ciągu.

Ok, spójrz na powyższy wynik. Wszędzie, gdzie było słowo „Indie”, zastępowano je słowem „Bharat”.

Przykład nr 2

Teraz zobaczymy, jak używać tego samego kodu ze zmiennymi. Spójrz na poniższy kod.

Kod:

Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "Indie to kraj rozwijający się, a Indie to kraj azjatycki" FindString = "Indie" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub

W powyższym kodzie zadeklarowałem dodatkowe trzy zmienne.

Dim MyString As String Dim FindString As String Dim ReplaceString As String

Tym zmiennym przypisałem wartości. Zamiast podawać ciąg wyrażenia, ciąg znajdujący się i zamień ciąg, do funkcji Replace dostarczymy tylko zmienną.

Ten kod również daje ten sam wynik, ale jedyną różnicą jest to, że użyliśmy zmiennych zamiast bezpośredniego dostarczania wartości do funkcji.

Przykład nr 3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() 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, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #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

  • Zastąp to rodzina funkcji ciągów w języku VBA.
  • W języku VBA funkcja replace zamienia wszystkie podane słowa na zastąpiony ciąg, jeśli nie określono parametru count.
  • Parametr start usunie liczbę podanych znaków i pokaże pozostały wynik.

Interesujące artykuły...