VBA vervangt string

Excel VBA vervangt string

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.

Bij het omgaan met teststring- of tekstgegevenswaarden ligt het voor de hand om iets te vervangen of te vervangen door iets anders, twee celgegevens samenvoegen tot één of één celgegevens in meerdere dingen splitsen. 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' is, moeten we van deze tekenreeks het woord 'India' vervangen en worden gewijzigd 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. Een voorbeeld hieronder is 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 Expression- string proberen we bijvoorbeeld het woord "India" te vervangen.
  • Vervang string: Wat is de vervangende string waarmee we de Find String vervangen ? 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 in Expression voorkomt, hoeveel woorden moeten we dan vervangen.

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

Hoe tekst in string vervangen met VBA?

U kunt deze VBA-vervangtekenreeks Excel-sjabloon hier downloaden - VBA vervangtekenreeks Excel-sjabloon

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 zullen we een nieuwe tekenreekswaarde weergeven 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 van 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 "Find String", dwz welk woord we moeten vervangen, dwz "India".

Het volgende argument is "Replace String", dwz met welke string we het woord "India", dwz "Bharath", moeten vervangen.

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 waar we het woord "India" ook hadden, het is 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 een extra drie variabelen verklaard.

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

Voor deze variabelen heb ik waarden toegewezen, in plaats van de Expression String, Find String en Replace String te leveren, zullen we alleen de variabele aan de Replace-functie leveren.

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

Stel dat u het woord "India" alleen vanaf de tweede positie wilt vervangen, dan moeten we de functieparameter Vervangen ["Start"] gebruiken. Bekijk de onderstaande code voor uw informatie.

Code:

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

Slechts een extra ding dat we hebben toegevoegd uit de vorige code is de "Start" -parameter als 34. Voer nu de code uit en zie het resultaat.

Nu kunnen we alleen de tekenreeks zien na het 34e teken van de tekenreeks met "India" vervangen door "Bharat".

Voorbeeld # 4

Als we nu voor een voorbeeld alleen de eerste keer dat het woord "India" voorkomt in "Bharath" willen vervangen, moeten we de parameter ["Count"] van de functie Replace gebruiken.

Hieronder staat de code voor jou.

Code:

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

Voer de code handmatig of via de F5-toets uit en bekijk het resultaat.

Zoals je hierboven kunt zien, is alleen de eerste keer dat het woord "India" voorkomt vervangen door "Bharat" en blijft de tweede instantie hetzelfde.

Dingen om hier te onthouden

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