VBA Zastąp ciąg

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, połączenie danych dwóch komórek w jedną lub podzielenie 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 brzmi „Indie to kraj rozwijający się, a Indie w kraju azjatyckim”, z tego ciągu 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 w Azji”
  • Znajdź ciąg: jaki ciąg próbujemy zastąpić. Na przykład w ciągu wyrażenia próbujemy zastąpić słowo „Indie”.
  • Zastąp ciąg: Czym jest zastępczy ciąg, którym zastępujemy ciąg wyszukiwania ? W tym przypadku staramy się więc 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?

Możesz pobrać ten szablon VBA Replace String Excel tutaj - VBA Zastąp ciąg szablon Excel

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”. Dla tej zmiennej otwórz funkcję Replace.

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

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

Kolejnym argumentem jest „Zamień ciąg”, czyli jakim ciągiem należy zamienić słowo „Indie”, czyli „Bharat”.

Ok, na razie zignoruj ​​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, gdziekolwiek mieliśmy słowo „Indie”, zostało ono zastąpione 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 azjatycki kraj" 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 

Dla tych zmiennych przypisałem wartości, zamiast dostarczać wyrażenie Expression String, Find String i Replace String , dostarczymy tylko zmienną do funkcji Replace.

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

Załóżmy, że chcesz zastąpić słowo „Indie” tylko z drugiej pozycji, wtedy musimy użyć parametru funkcji Zastąp [„Start”]. Spójrz na poniższy kod, aby uzyskać informacje.

Kod:

 Sub Replace_Example2 () 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 azjatycki kraj" FindString = "Indie" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Start: = 34) MsgBox NewString End Sub 

Jedyną dodatkową rzeczą, którą dodaliśmy z poprzedniego kodu, jest parametr „Start” jako 34. Teraz uruchom kod i zobacz wynik.

Teraz widzimy tylko ciąg po 34. znaku ciągu z „Indie” zastępującym „Bharat”.

Przykład 4

Na przykład, jeśli chcemy zamienić tylko pierwsze wystąpienie słowa „Indie” na „Bharat”, wówczas musimy użyć parametru [„Count”] funkcji Replace.

Poniżej znajduje się kod dla Ciebie.

Kod:

 Sub Replace_Example3 () 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, Count: = 1) MsgBox NewString End Sub 

Uruchom kod ręcznie lub za pomocą klawisza F5 i zobacz wynik.

Jak widać powyżej, zastąpiono tylko pierwsze wystąpienie słowa „Indie” słowem „Bharat”, a drugie wystąpienie pozostaje takie samo.

O czym należy pamiętać tutaj

  • 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.