Ez az oktatóanyag bemutatja, hogyan kell használni a VBA cseréje funkciót a szöveg karakterláncainak cseréjéhez.
Function cseréje
A VBA Replace függvény karakterláncot ad vissza, a helyettesítésekkel. Az opcionális paraméterek használatával az új karakterlánc a kezdet által megadott helyen kezdődhet, és az eredeti karakterlánc végén ér véget.
VBA Replace Substitute a Substring
A VBA Replace funkcióval helyettesítheti a talált alstringeket, amelyek minden részében megtalálhatók.
12345678910111213141516 | AlcserePélda_1 ()MsgBox Replace ("ABCABCABC", "A", "!")'Az eredmény: "! BC! BC! BC"MsgBox Replace ("Szeretem a rózsaszín, piros és fekete", "rózsaszín", "lila")"Az eredmény:" szeretem a lila, piros és fekete színeket "MsgBox csere ("A, B, C, A, B, C, A, B, C", ",", ",")'Az eredmény: "ABCABCABC"MsgBox Replace ("ABCABCABC", "ABC", "!")'Az eredmény: "!!!"MsgBox Replace ("ABCABCABC", "ABc", "!")'Az eredmény: "ABCABCABC"MsgBox Replace ("ABCABCABC", "ZBC", "!")'Az eredmény: "ABCABCABC"End Sub |
VBA Kezdő pozíció cseréje
A VBA Replace funkcióval helyettesítheti a talált alstringeket, amelyek minden részében megtalálhatók. Ha kezdő pozíciót rendelünk hozzá, akkor az eredmény az eredeti karakterlánc része lesz a kezdőpont után.
12345678910111213 | AlcserePélda_2 ()MsgBox Replace ("ABCABCABC", "A", "123") 'Az eredmény: "123BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 2) 'Az eredmény: "BC123BC123BC"MsgBox Replace ("ABCABCABC", "A", "123", 7) 'Az eredmény: "123BC"MsgBox Replace ("ABCABCABC", "A", "123", 8) 'Az eredmény: "BC"MsgBox Replace ("ABCABCABC", "ABC", "!@") 'Az eredmény: "!@!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 2) 'Az eredmény: "BC!@!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 6) 'Az eredmény: "C!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 7) 'Az eredmény: "!@"MsgBox Replace ("ABCABCABC", "ABC", "!@", 8) 'Az eredmény: "BC"End Sub |
A VBA csak néhány esetben cserélje ki
A VBA Replace funkcióval helyettesítheti a talált alstringeket, amelyek minden részében megtalálhatók. Opcionálisan eldönthetjük, hogy hány előfordulást kell helyettesíteni.
123456789101112 | Sub ReplaceExample_3 ()MsgBox Replace ("ABCABCABC", "A", "12") 'Az eredmény: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 1) 'Az eredmény: "12BCABCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 2) 'Az eredmény: "12BC12BCABC"MsgBox Replace ("ABCABCABC", "A", "12",, 3) 'Az eredmény: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12",, 5) 'Az eredmény: "12BC12BC12BC"MsgBox Replace ("ABCABCABC", "A", "12", 3, 1)'Az eredmény: "C12BCABC"„Az A -t 12 -re cseréltük, 1 alkalommal az eredeti karakterlánc 3. pozíciójából kiindulva.End Sub |
VBA Cserélje ki a kis- és nagybetűket
A VBA csere funkció alapértelmezés szerint megkülönbözteti a kis- és nagybetűket. Ezt a viselkedést kis- és nagybetűk megkülönböztetésére változtathatja egy opcionális paraméter használatával (vbTextCompare). Ebben az esetben meg kell határoznia a keresés kiinduló helyzetét is.
12345678910111213 | Sub ReplaceExample_4 ()MsgBox Replace ("ABcABCABc", "ABc", "12")'Az eredmény: "12ABC12"MsgBox Replace ("ABcABCABc", "ABc", "12",,, vbTextCompare)"Az eredmény:" 121212 "'A vbTextCompare használatakor hozzá kell adnunk a másik két opcionális argumentumot:'kezdd és számoldMsgBox Replace ("ABcABCABcABc", "ABc", "12", 3, 1)'Az eredmény: "cABC12ABc"„A 3. pozícióból indult, és csak egyszer cserélte le az ABC -t.End Sub |
A kis- és nagybetűk megkülönböztetés nélküli cseréjét is elvégezheti, ha hozzáadja a Option Compare Text lehetőséget a modul tetejéhez:
1 | Opció Szöveg összehasonlítása |
VBA Cserélje ki a kettős idézeteket
A VBA Replace funkció helyettesítheti a karakterlánc elejének és végének határolására használt idézőjeleket.
A VBA Chr függvény visszaadhat egy karaktert a karakterkészlet számából.
1 | MsgBox Chr (34) "Az eredmény:" |
Vagy
1 | MsgBox Chr (64) 'Az eredmény: @ |
Dupla idézőjelek használhatók a VBA Replace funkcióban a „” ”” vagy a VBA Chr (34) függvénnyel.
12345678910111213 | Sub ReplaceExample_5 ()Dim StrEx karakterlánckéntStrEx = "AB" "AB" ""Az MsgBox StrEx eredménye: AB "AB"MsgBox csere (StrEx, Chr (34), "12")'Az eredmény: AB12AB12MsgBox Replace (StrEx, "" "", "DQ")'Az eredmény: "ABDQABDQ"End Sub |
VBA A törésvonal cseréje a cellában
A VBA Replace funkció megkeresi a törésvonal speciális karakterét egy cellában, és eltávolítja azt, vagy helyettesíti egy szóközzel. A törésvonal speciális karaktere beírható egy cellába az Alt+Enter billentyűparancs segítségével, és használható a VBA kódban a Karakterkészlet számával a Chr VBA függvény használatával (10).
1234567891011121314 | Sub ReplaceExample_6 ()Dim StrEx mint karakterlánc 'Határozzon meg egy karakterlánc -változótOlvassa el az A2 cella értékét az 1. munkalaponStrEx = ThisWorkbook.Worksheets ("Sheet1"). Tartomány ("A2"). Érték'Az Alt+Enter billentyűkkel beírt törésvonal karakter Chr (10) és láthatatlan.'Ez a kódsor szóközzel helyettesíti ezt a karaktertStrEx = Csere (StrEx, Chr (10), "")'Írja be a kicserélt értéket az 1. munkalap B2 cellájábaThisWorkbook.Worksheets ("Sheet1"). Tartomány ("B2"). Érték = StrExEnd Sub |