Funkce nahrazení VBA - Nahradit řetězec

Tento tutoriál předvede, jak použít funkci Nahradit VBA k nahrazení řetězců textu.

Nahradit funkci

Funkce VBA Replace vrací řetězec s provedenými substitucemi. S použitím volitelných parametrů může nový řetězec začínat na pozici určené začátkem a končí na konci původního řetězce.

VBA Nahradit Nahradit Substring

Funkci VBA Replace lze použít k nahrazení jakéhokoli nalezeného podřetězce v každé jeho části.

12345678910111213141516 Sub ReplaceExample_1 ()Nahradit MsgBox („ABCABCABC“, „A“, „!“)Výsledek je: „! BC! BC! BC! BC“MsgBox Replace („Mám rád růžovou, červenou a černou“, „růžovou“, „fialovou“)Výsledek: „Mám rád fialovou, červenou a černou“Nahradit MsgBox ("A, B, C, A, B, C, A, B, C", ",", ",")Výsledkem je „ABCABCABC“Nahradit MsgBox („ABCABCABC“, „ABC“, „!“)Výsledek je: "!!!"Nahradit MsgBox („ABCABCABC“, „ABc“, „!“)Výsledkem je „ABCABCABC“Nahradit MsgBox („ABCABCABC“, „ZBC“, „!“)Výsledkem je „ABCABCABC“End Sub

VBA Vyměňte výchozí pozici

Funkci VBA Replace lze použít k nahrazení jakéhokoli nalezeného podřetězce v každé jeho části. Pokud přiřadíme počáteční pozici, pak bude výsledkem část původního řetězce za tímto počátečním bodem.

12345678910111213 Sub ReplaceExample_2 ()Nahradit MsgBox („ABCABCABC“, „A“, „123“) 'Výsledek je: „123BC123BC123BC“Nahradit MsgBox („ABCABCABC“, „A“, „123“, 2) 'Výsledkem je: „BC123BC123BC“Nahradit MsgBox („ABCABCABC“, „A“, „123“, 7) Výsledek je: „123BC“Nahradit MsgBox („ABCABCABC“, „A“, „123“, 8) 'Výsledek je: „BC“Nahradit MsgBox („ABCABCABC“, „ABC“, „!@“) 'Výsledkem je: „!@!@!@“Nahradit MsgBox („ABCABCABC“, „ABC“, „!@“, 2) Výsledkem je „BC!@!@“Nahradit MsgBox („ABCABCABC“, „ABC“, „!@“, 6) 'Výsledkem je: „C!@“Nahradit MsgBox („ABCABCABC“, „ABC“, „!@“, 7) 'Výsledkem je: „!@“Nahradit MsgBox („ABCABCABC“, „ABC“, „!@“, 8) 'Výsledek je: „BC“End Sub

VBA Nahradit jen několik výskytů

Funkci VBA Replace lze použít k nahrazení jakéhokoli nalezeného podřetězce v každé jeho části. Můžeme volitelně rozhodnout, kolik výskytů by mělo být nahrazeno.

123456789101112 Sub ReplaceExample_3 ()Nahradit MsgBox („ABCABCABC“, „A“, „12“) 'Výsledek je: „12BC12BC12BC“Nahradit MsgBox („ABCABCABC“, „A“, „12“,, 1) 'Výsledkem je: „12BCABCABC“Nahradit MsgBox („ABCABCABC“, „A“, „12“,, 2) 'Výsledkem je: „12BC12BCABC“Nahradit MsgBox („ABCABCABC“, „A“, „12“,, 3) 'Výsledkem je: „12BC12BC12BC“Nahradit MsgBox („ABCABCABC“, „A“, „12“,, 5) 'Výsledkem je: „12BC12BC12BC“Nahradit MsgBox („ABCABCABC“, „A“, „12“, 3, 1)Výsledkem je „C12BCABC“"Nahradili jsme A 12, 1 krát počínaje od pozice 3 původního řetězce."End Sub

VBA Nahraďte citlivost na malá a velká písmena

Funkce nahrazení VBA ve výchozím nastavení rozlišuje velká a malá písmena. Toto chování můžete změnit na malá a velká písmena pomocí volitelného parametru (vbTextCompare). V takovém případě musíte také definovat počáteční pozici hledání.

12345678910111213 Sub ReplaceExample_4 ()Nahradit MsgBox („ABcABCABc“, „ABc“, „12“)Výsledek je: „12ABC12“Nahradit MsgBox ("ABcABCABc", "ABc", "12",,, vbTextCompare)'Výsledek je: "121212"`` Když používáme vbTextCompare, musíme přidat další 2 volitelné argumenty:'začni a počítejNahradit MsgBox („ABcABCABcABc“, „ABc“, „12“, 3, 1)'Výsledek je: "cABC12ABc"„Vyšlo z pozice 3 a nahradilo ABC pouze 1krát.End Sub

Můžete také provést Nahrazování nerozlišující malá a velká písmena přidáním Textu pro porovnání možností na začátek modulu:

1 Možnost Porovnat text

VBA Nahradit dvojité uvozovky

Funkce VBA Replace může nahradit znak uvozovek používaný k oddělení začátku a konce řetězce.

Funkce VBA Chr může vrátit znak z jeho čísla ve znakové sadě.

1 MsgBox Chr (34) 'Výsledek je: "

Nebo

1 MsgBox Chr (64) 'Výsledek je: @

Uvnitř funkce VBA Replace lze použít uvozovky pomocí funkce „“ “” nebo funkce VBA Chr (34).

12345678910111213 Sub ReplaceExample_5 ()Dim StrEx jako řetězecStrEx = "AB" "AB" ""Výsledek MsgBox StrEx je: AB "AB"MsgBox Replace (StrEx, Chr (34), "12")„Výsledek je: AB12AB12Nahradit MsgBox (StrEx, "" "", "DQ")'Výsledek je: "ABDQABDQ"End Sub

VBA Nahraďte přerušovací čáru v buňce

Funkce VBA Replace dokáže v buňce najít speciální znak konce čáry a odebrat jej nebo nahradit mezerou. Speciální znak zalomení řádku lze zadat do buňky pomocí klávesové zkratky Alt+Enter a lze jej použít v kódu VBA s číslem znakové sady pomocí funkce VBA Chr (10).

1234567891011121314 Sub ReplaceExample_6 ()Dim StrEx As String 'Definujte proměnnou řetězce'Přečtěte si hodnotu buňky A2 v listu List1StrEx = ThisWorkbook.Worksheets ("Sheet1"). Range ("A2"). Value„Znak zlomové čáry zadaný pomocí Alt+Enter je Chr (10) a je neviditelný.`` Tento řádek kódu nahradí tento znak mezerouStrEx = Nahradit (StrEx, Chr (10), "")'Napište nahrazenou hodnotu do buňky B2 do listu List1ThisWorkbook.Worksheets ("Sheet1"). Range ("B2"). Value = StrExEnd Sub
wave wave wave wave wave