Denne vejledning viser, hvordan du bruger funktionen Erstat VBA til at erstatte tekststrenge.
Udskift funktion
Funktionen VBA Replace returnerer en streng med substitutioner foretaget. Ved brug af valgfrie parametre kan den nye streng begynde på den position, der er angivet ved start, og slutter ved slutningen af den originale streng.
VBA Replace Substitute a Substring
VBA Replace -funktionen kan bruges til at erstatte enhver funden delstreng, i hver del den findes.
12345678910111213141516 | Sub ReplaceExample_1 ()MsgBox Erstat ("ABCABCABC", "A", "!")'Resultatet er: "! BC! BC! BC"MsgBox Replace ("Jeg kan godt lide pink, rød og sort", "pink", "lilla")'Resultatet er: "Jeg kan godt lide lilla, rød og sort"MsgBox Erstat ("A, B, C, A, B, C, A, B, C", ",", ",")'Resultatet er: "ABCABCABC"MsgBox Erstat ("ABCABCABC", "ABC", "!")'Resultatet er: "!!!"MsgBox Erstat ("ABCABCABC", "ABc", "!")'Resultatet er: "ABCABCABC"MsgBox Erstat ("ABCABCABC", "ZBC", "!")'Resultatet er: "ABCABCABC"Afslut Sub |
VBA Udskift startposition
VBA -udskiftningsfunktionen kan bruges til at erstatte enhver funden delstreng, i hver del den findes. Hvis vi tildeler en startposition, ville resultatet være den del af den originale streng efter dette startpunkt.
12345678910111213 | Sub ReplaceExample_2 ()MsgBox Erstat ("ABCABCABC", "A", "123") 'Resultat er: "123BC123BC123BC"MsgBox Erstat ("ABCABCABC", "A", "123", 2) 'Resultat er: "BC123BC123BC"MsgBox Erstat ("ABCABCABC", "A", "123", 7) 'Resultat er: "123BC"MsgBox Erstat ("ABCABCABC", "A", "123", 8) 'Resultat er: "BC"MsgBox Erstat ("ABCABCABC", "ABC", "!@") 'Resultat er: "!@!@!@"MsgBox Erstat ("ABCABCABC", "ABC", "!@", 2) 'Resultat er: "BC!@!@"MsgBox Erstat ("ABCABCABC", "ABC", "!@", 6) 'Resultat er: "C!@"MsgBox Erstat ("ABCABCABC", "ABC", "!@", 7) 'Resultat er: "!@"MsgBox Erstat ("ABCABCABC", "ABC", "!@", 8) 'Resultat er: "BC"Afslut Sub |
VBA Udskift kun få forekomster
VBA Replace -funktionen kan bruges til at erstatte enhver funden delstreng, i hver del den findes. Vi kan valgfrit bestemme, hvor mange hændelser der skal erstattes.
123456789101112 | Sub ReplaceExample_3 ()MsgBox Erstat ("ABCABCABC", "A", "12") 'Resultat er: "12BC12BC12BC"MsgBox Erstat ("ABCABCABC", "A", "12",, 1) 'Resultat er: "12BCABCABC"MsgBox Erstat ("ABCABCABC", "A", "12",, 2) 'Resultat er: "12BC12BCABC"MsgBox Erstat ("ABCABCABC", "A", "12",, 3) 'Resultat er: "12BC12BC12BC"MsgBox Erstat ("ABCABCABC", "A", "12",, 5) 'Resultat er: "12BC12BC12BC"MsgBox Erstat ("ABCABCABC", "A", "12", 3, 1)'Resultatet er: "C12BCABC"'Vi erstattede A med 12, 1 gang startende fra position 3 i den originale streng.Afslut Sub |
VBA Udskift sagfølsomhed
VBA Erstat funktion som standard er store og små bogstaver. Du kan ændre denne adfærd til store og små bogstaver ved hjælp af en valgfri parameter (vbTextCompare). I så fald skal du også definere søgningens startposition.
12345678910111213 | Sub ReplaceExample_4 ()MsgBox Erstat ("ABcABCABc", "ABc", "12")'Resultatet er: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)'Resultatet er: "121212"'Når vi bruger vbTextCompare, skal vi tilføje de 2 andre valgfrie argumenter:'start og tælMsgBox Erstat ("ABcABCABcABc", "ABc", "12", 3, 1)'Resultatet er: "cABC12ABc"'Startede fra position3 og udskiftede ABC kun 1 gang.Afslut Sub |
Du kan også udføre en udskiftning mellem store og små bogstaver ved at tilføje Option Compare Text til toppen af dit modul:
1 | Mulighed Sammenlign tekst |
VBA Udskift dobbelt citater
VBA Replace -funktionen kan erstatte det dobbelte anførselstegn, der bruges til at afgrænse start og slutning af en streng.
VBA Chr -funktion kan returnere et tegn fra sit tal i tegnsættet.
1 | MsgBox Chr (34) 'Resultat er: " |
Eller
1 | MsgBox Chr (64) 'Resultat er: @ |
Dobbelt citater kan bruges inde i VBA Erstat funktion ved hjælp af “” ”” eller VBA funktion Chr (34).
12345678910111213 | Sub ReplaceExample_5 ()Dim StrEx som strengStrEx = "AB" "AB" ""MsgBox StrEx 'resultat er: AB "AB"MsgBox Udskift (StrEx, Chr (34), "12")'Resultatet er: AB12AB12MsgBox Erstat (StrEx, "" "", "DQ")'Resultatet er: "ABDQABDQ"Afslut Sub |
VBA Udskift brudlinje i celle
VBA Replace -funktionen kan finde skillelinjens specialtegn i en celle og fjerne det eller erstatte det med et mellemrumstegn. Breaklinens specialtegn kan indtastes i en celle ved hjælp af tastaturgenvejen Alt+Enter og kan bruges i VBA -kode med sit tegnsætnummer ved hjælp af VBA -funktion Chr (10).
1234567891011121314 | Sub ReplaceExample_6 ()Dim StrEx som streng 'Definer en strengvariabel'Læs værdien af celle A2 i regneark Ark1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Område ("A2"). Værdi'Brudlinjetegnet indtastet med Alt+Enter er Chr (10) og er usynlig.'Denne kodelinje erstatter dette tegn med mellemrumStrEx = Erstat (StrEx, Chr (10), "")'Skriv den udskiftede værdi i celle B2 i regneark Ark1ThisWorkbook.Worksheets ("Ark1"). Område ("B2"). Værdi = StrExAfslut Sub |