VBA vervangt string - Hoe tekst in string vervangen met VBA?

Excel VBA-tekenreeks vervangen

Vervangen is zowel de werkbladfunctie als de VBA-functie. Deze functie helpt ons om het specifieke woord uit de string te vervangen door een andere string. Het werkt vergelijkbaar met de vervangingsfunctie in VBA.

Wanneer u te maken heeft met teststring- of tekstgegevenswaarden, ligt het voor de hand om iets te vervangen of te vervangen door iets anders, door twee celgegevens samen te voegen tot één of één celgegevens op te splitsen in meerdere dingen. Dit zijn allemaal veel voorkomende taken die we dag in dag uit op onze werkplek uitvoeren.

Dus, hoe vervangen we een woord in de string door een ander woord? Als de tekenreeks bijvoorbeeld 'India is een ontwikkelingsland en India in het Aziatische land' uit deze tekenreeks is, moeten we het woord 'India' vervangen en wijzigen in 'Bharat'.

Dit is mogelijk door de functie Vervangen te gebruiken. In dit artikel laten we u zien hoe u strings vervangt in VBA-codering.

Functie vervangen

  • Expressie: dit is niets anders dan de oorspronkelijke tekenreekswaarde waaruit we iets proberen te vervangen door iets. Hieronder staat bijvoorbeeld de tekenreeks voor de uitdrukking: 'India is een ontwikkelingsland en India in het Aziatische land'.
  • Find String: Wat is de string die we proberen te vervangen. In de tekenreeks Expression proberen we bijvoorbeeld het woord 'India' te vervangen.
  • Vervang String: Wat is de vervanger snaar we het vervangen Find String met? Dus in dit geval proberen we het woord 'India' te vervangen door 'Bharat'.
  • (Start): Dit is een optionele parameter. In de bovenstaande string (Expression) hebben we twee woorden, "India", dus vanaf welke positie van de Find String we het vervangingsproces moeten starten. Als we bijvoorbeeld 2 zeggen, begint het woord 'India' vanaf de tweede positie te vervangen.
  • (Count): Als de Find String meerdere keren te zien zijn in Expression, dan hoeveel woorden we moeten vervangen.

Als het woord "India" bijvoorbeeld 5 keer voorkomt en als u de telling opgeeft als 3, vervangt het alleen de eerste 3 "India" -woorden.

Hoe tekst in string vervangen met VBA?

Voorbeeld 1

Nu zullen we proberen het woord "India" te vervangen door "Bharath" uit de onderstaande tekenreekswaarde.

"India is een ontwikkelingsland en India in het Aziatische land."

Start nu eerst de Excel-macro-procedure.

Code:

Sub Replace_Example () End Sub

Definieer de VBA-variabele als String.

Code:

Sub Replace_Example () Dim NewString As String End Sub

In deze variabele laten we een nieuwe tekenreekswaarde zien nadat we het woord 'India' hebben vervangen door 'Bharath'. Open voor deze variabele de functie Vervangen.

Het eerste argument van deze functie is 'Expression', dwz uit welke string we een woord proberen te vervangen, dus kopieer en plak de string 'India is een ontwikkelingsland en India in het Aziatische land'.

Het volgende argument is ‘Tekenreeks zoeken’, dwz welk woord we moeten vervangen, ‘India’.

Het volgende argument is "Tekenreeks vervangen", dwz met welke tekenreeks we het woord "India" moeten vervangen, dwz "Bharat".

Ok, negeer vanaf nu de resterende argumenten. Toon nu het resultaat in het berichtvenster.

Code:

Sub Replace_Example () Dim NewString As String NewString = Replace ("India is een ontwikkelingsland en India is het Aziatische land", "India", "Bharath") MsgBox NewString End Sub

Laten we de code uitvoeren met de F5-toets of handmatig en het nieuwe tekenreeksresultaat bekijken.

Oké, kijk naar het bovenstaande resultaat. Overal waar het woord 'India' stond, is het vervangen door het woord 'Bharat'.

Voorbeeld 2

Nu zullen we zien hoe we dezelfde code met variabelen kunnen gebruiken. Kijk naar de onderstaande code.

Code:

Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is een ontwikkelingsland en India is het Aziatische land" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub

In de bovenstaande code heb ik drie extra variabelen verklaard.

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

Voor deze variabelen heb ik waarden toegekend. In plaats van de Expression String, Find String en Replace String op te geven, leveren we alleen variabele aan de functie Replace.

Deze code geeft ook hetzelfde resultaat, maar het enige verschil is dat we variabelen hebben gebruikt in plaats van directe waarden aan de functie te leveren.

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

  • Vervangen is een reeks-functiefamilie in VBA.
  • In VBA vervangt de functie replace alle geleverde woorden door de vervangen tekenreeks als de parameter count niet is opgegeven.
  • De startparameter verwijdert het aantal opgegeven tekens en toont het resterende resultaat.

Interessante artikelen...