Ovaj će vodič pokazati kako koristiti funkciju Zamijeni VBA za zamjenu nizova teksta.
Zamijeni funkciju
Funkcija zamjene VBA vraća niz s izvršenim zamjenama. Korištenjem izbornih parametara, novi niz može započeti na mjestu navedenom početkom i završava na kraju izvornog niza.
VBA Zamijenite Zamijenite podniz
Funkcija VBA Replace može se koristiti za zamjenu bilo kojeg pronađenog podniz, u svakom dijelu koji se nalazi.
12345678910111213141516 | Sub Zamijeni Primjer_1 ()MsgBox Zamijeni ("ABCABCABC", "A", "!")'Rezultat je: "! BC! BC! BC"MsgBox Replace ("Volim ružičastu, crvenu i crnu", "ružičastu", "ljubičastu")'Rezultat je: "Volim ljubičastu, crvenu i crnu"MsgBox Zamijeni ("A, B, C, A, B, C, A, B, C", ",", ",")'Rezultat je: "ABCABCABC"MsgBox Zamijeni ("ABCABCABC", "ABC", "!")'Rezultat je: "!!!"MsgBox Zamijeni ("ABCABCABC", "ABc", "!")'Rezultat je: "ABCABCABC"MsgBox Zamijeni ("ABCABCABC", "ZBC", "!")'Rezultat je: "ABCABCABC"Kraj podm |
VBA Zamijenite početni položaj
Funkcija VBA Replace može se koristiti za zamjenu bilo kojeg pronađenog podniz, u svakom dijelu koji se nalazi. Ako dodijelimo početnu poziciju, rezultat bi bio dio izvornog niza nakon te početne točke.
12345678910111213 | Sub Zamijeni Primjer_2 ()MsgBox Zamijeni ("ABCABCABC", "A", "123") "Rezultat je:" 123BC123BC123BC "MsgBox Replace ("ABCABCABC", "A", "123", 2) 'Rezultat je: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'Rezultat je: "123BC"MsgBox Zamijeni ("ABCABCABC", "A", "123", 8) 'Rezultat je: "BC"MsgBox Replace ("ABCABCABC", "ABC", "!@") 'Rezultat je: "!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) 'Rezultat je: "BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) 'Rezultat je: "C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) 'Rezultat je: "!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) 'Rezultat je: "BC"Kraj podm |
VBA zamijeni samo nekoliko događaja
Funkcija VBA Replace može se koristiti za zamjenu bilo kojeg pronađenog podniz, u svakom dijelu koji se nalazi. Opcijski možemo odlučiti koliko se pojavljivanja treba zamijeniti.
123456789101112 | Sub Zamijeni Primjer_3 ()MsgBox Zamijeni ("ABCABCABC", "A", "12") "Rezultat je:" 12BC12BC12BC "MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Rezultat je: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Rezultat je: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Rezultat je: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'Rezultat je: "12BC12BC12BC"MsgBox Zamijeni ("ABCABCABC", "A", "12", 3, 1)'Rezultat je: "C12BCABC"'Zamijenili smo A s 12, 1 put počevši od položaja 3 izvornog niza.Kraj podm |
VBA Zamijeni osjetljivost velikih i malih slova
VBA funkcija zamjene prema zadanim postavkama razlikuje velika i mala slova. To ponašanje možete promijeniti u razlikovanje velikih i malih slova pomoću izbornog parametra (vbTextCompare). U tom slučaju morate definirati i početnu poziciju pretraživanja.
12345678910111213 | Sub Zamijeni Primjer_4 ()MsgBox Zamijeni ("ABcABCABc", "ABc", "12")'Rezultat je: "12ABC12"MsgBox Zamijeni ("ABcABCABc", "ABc", "12",,, vbTextCompare)'Rezultat je: "121212"'Kad koristimo vbTextCompare, moramo dodati 2 druga izborna argumenta:'počni i brojiMsgBox Zamijeni ("ABcABCABcABc", "ABc", "12", 3, 1)'Rezultat je: "cABC12ABc"'Krenuo s položaja 3, a ABC zamijenio samo 1 put.Kraj podm |
Također možete izvršiti zamjenu koja ne razlikuje velika i mala slova dodavanjem opcije Usporedi tekst na vrh modula:
1 | Opcija Usporedi tekst |
VBA Zamijenite dvostruke citate
VBA funkcija zamjene može zamijeniti znak dvostrukih navodnika koji se koristi za razgraničenje početka i kraja niza.
VBA Chr funkcija može vratiti znak iz njegovog broja u skupu znakova.
1 | MsgBox Chr (34) 'Rezultat je: " |
Ili
1 | MsgBox Chr (64) 'Rezultat je: @ |
Dvostruki navodnici mogu se koristiti unutar funkcije VBA Replace pomoću “” ”” ili VBA funkcije Chr (34).
12345678910111213 | Sub Zamijeni Primjer_5 ()Dim StrEx kao nizStrEx = "AB" "AB" ""MsgBox StrEx 'Rezultat je: AB "AB"MsgBox Zamijeni (StrEx, Chr (34), "12")'Rezultat je: AB12AB12MsgBox Zamijeni (StrEx, "" "", "DQ")'Rezultat je: "ABDQABDQ"Kraj podm |
VBA Zamijenite prekidnu liniju u ćeliji
Funkcija VBA Zamjena može pronaći poseban znak linije prijeloma u ćeliji i ukloniti ga ili zamijeniti razmakom. Posebni znak linije prijeloma može se unijeti u ćeliju pomoću tipkovnog prečaca Alt+Enter i može se koristiti u VBA kodu s brojem skupa znakova pomoću VBA funkcije Chr (10).
1234567891011121314 | Sub Zamijeni Primjer_6 ()Dim StrEx As String 'Definirajte varijablu niza'Pročitajte vrijednost ćelije A2 na listu 1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value'Znak linije prekida koji se unosi s Alt+Enter je Chr (10) i nevidljiv je.'Ovaj kodni redak zamjenjuje taj znak razmakomStrEx = Zamijeni (StrEx, Chr (10), "")'Zapišite zamijenjenu vrijednost u ćeliju B2 u List 1ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Value = StrExKraj podm |