A VBA számos karakterlánc -funkcióval rendelkezik, amelyek lehetővé teszik a kód szövegének és karakterláncainak kezelését és kezelését. Ebben az oktatóanyagban olyan funkciókat fogunk bemutatni, amelyek lehetővé teszik az alláncok kivonását a karakterláncokból, a szóközök eltávolítását a karakterláncokból, a szöveg vagy karakterlánc átalakítását, a karakterláncok és más hasznos karakterlánc -függvények összehasonlítását.
Egy allánc kibontása
A VBA bal oldali karakterlánc funkciója
A VBA bal funkciója lehetővé teszi, hogy kivonjon egy alláncot a szövegből vagy karakterláncból a bal oldalról kezdve. A VBA bal karakterlánc függvény szintaxisa:
Bal (karakterlánc, karakterek száma) ahol:
- Karakterlánc - Az eredeti szöveg.
- Karakterek száma - Egész szám, amely meghatározza az eredeti szövegből kihozandó karakterek számát az elejétől kezdve.
A következő kód bemutatja, hogyan használhatja a Bal karakterlánc funkciót az adott karakterlánc első négy karakterének kibontásához:
1234567891011 | SubTheTheLeftStringFunction ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "AutomateExcel"valueTwo = Bal (valueOne, 4)MsgBox értékKettőEnd Sub |
Az eredmény:
A Bal funkció kibontotta az AutomateExcel első négy betűjét, amelyek Auto.
A VBA jobb oldali karakterlánc funkciója
A VBA jobb oldali funkció lehetővé teszi, hogy a jobb oldalról induló szövegből vagy karakterláncból kivonjon egy alláncot. A VBA jobb oldali karakterlánc függvény szintaxisa a következő:
Jobbra (karakterlánc, karakterek száma) ahol:
- Karakterlánc - Az eredeti szöveg.
- Karakterek száma - Egész szám, amely meghatározza, hogy hány karaktert kell kivonni az eredeti szövegből a végétől kezdve.
A következő kód bemutatja, hogyan használhatja a jobb oldali karakterlánc funkciót a karakterlánc utolsó négy karakterének kibontásához:
1234567891011 | ATheRightStringFunction funkció használata ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "AutomateExcel"valueTwo = Jobb (valueOne, 4)MsgBox értékKettőEnd Sub |
Az eredmény:
A Jobb függvény kibontotta az AutomateExcel utolsó négy betűjét, amelyek xcel.
A VBA középső karakterlánc funkciója
A VBA középfunkció lehetővé teszi, hogy kivonjon egy alstringet a szövegből vagy karakterláncból, a megadott karakterlánc bármely pozíciójából kiindulva. A VBA középső karakterlánc funkció szintaxisa a következő:
Középső (karakterlánc, kezdőpozíció, [karakterek száma]), ahol:
- Karakterlánc - Az eredeti szöveg.
- Kezdő_helyzet - Az eredeti szövegben lévő pozíció, ahonnan a függvény kitermelni kezd.
- Karakterek száma (Választható) - Egész szám, amely megadja, hogy a Starting_position pozícióból kiindulva hány karaktert kell kivonni az eredeti szövegből. Ha üres, a MID függvény visszaadja a Starting_position összes karakterét.
A következő kód bemutatja, hogyan lehet a Középső karakterlánc funkcióval négy karaktert kivonni, a karakterlánc második helyétől vagy karakterétől kezdve:
1234567891011 | SubTheTheMidStringFunction ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "AutomateExcel"valueTwo = Közép (valueOne, 2, 4)MsgBox értékKettőEnd Sub |
Az eredmény egy üzenetküldő fiókba kerül:
A középfunkció kibontotta az AutomateExcel négy betűjét a második karakterből/pozícióból/betűből kiindulva, amelyek utom.
Egy allánc helyzetének megkeresése
A VBA Instr String függvény
A VBA Instr függvény egy másik karakterláncon belüli allánc kezdő pozícióját adja vissza. Ez a funkció megkülönbözteti a kis- és nagybetűket. A VBA Instr String függvény szintaxisa a következő:
Instr ([Start], String, Substring, [Compare]) ahol:
- Rajt (Választható) - Ez határozza meg a funkció kiinduló pozícióját, ahonnan keresni kell. Ha üres, akkor az alapértelmezett 1 értéket használja.
- Karakterlánc - Az eredeti szöveg.
- Allánc- Az alszöveg az eredeti szövegben, amelynek pozícióját meg szeretné találni.
- Összehasonlítás (Választható)- Ez határozza meg az összehasonlítás típusát. Ha üres, akkor bináris összehasonlítást használunk.
-vbBinaryCompare - Bináris összehasonlítás (a kis- és nagybetűk eltérőek)
-vbTextCompare - Szöveg összehasonlítás (a kis- és nagybetűk azonosak)
-vbDatabaseCompare - Adatbázis -összehasonlítás (Ez a lehetőség csak a Microsoft Access rendszerben használatos, és az adatbázison alapuló összehasonlítás)
A következő kód bemutatja, hogyan lehet az Instr String függvény segítségével meghatározni a „Th” allánc első előfordulását a fő karakterláncban:
123456789101112 | SubTheTheInstrStringFunction ()Dim érték: Egy mint karakterláncA szubsztring halvány pozíciója egész számkéntvalueOne = "Ez a szöveg"positionofSubstring = InStr (1, valueOne, "Th")Hibakeresés.Substring pozíció nyomtatásaEnd Sub |
Az eredmény (az azonnali ablakba kerül):
Az Instr függvény visszaadta a „Th” allánc első előfordulásának helyét, ami az 1. Megjegyzés: ez a függvény tartalmazza a számokat.
A VBA InstrRev karakterlánc -függvény
A VBA InstrRev függvény egy másik karakterláncon belüli allánc kezdő pozícióját adja vissza, de elkezdi számolni a pozíciót a karakterlánc végétől. Ez a funkció megkülönbözteti a kis- és nagybetűket. A VBA InstrRev karakterlánc függvény szintaxisa a következő:
InstrRev (String, Substring, [Start], [Compare]) ahol:
- Karakterlánc - Az eredeti szöveg.
- Allánc- Az alszöveg az eredeti szövegben, amelynek pozícióját meg szeretné találni.
- Rajt (Választható) - Ez határozza meg azt a pozíciót, ahonnan a keresést elkezdeni. Ha üres, a függvény az utolsó karaktertől kezdi a keresést.
- Összehasonlítás (Választható)- Ez határozza meg az összehasonlítás típusát. Ha üres, akkor bináris összehasonlítást használunk.
-vbBinaryCompare - Bináris összehasonlítás (a kis- és nagybetűk eltérőek)
-vbTextCompare - Szöveg összehasonlítás (a kis- és nagybetűk azonosak)
-vbDatabaseCompare - Adatbázis -összehasonlítás (Ez a lehetőség csak a Microsoft Access rendszerben használatos, és az adatbázison alapuló összehasonlítás)
A következő kód bemutatja, hogyan lehet az InstrRev karakterlánc függvény segítségével meghatározni a Th karakterlánc első előfordulását a fő karakterláncban, a karakterlánc végétől kezdve:
1234567891011 | SubTheTheInstrRevStringFunction ()Dim érték: Egy mint karakterláncA szubsztring halvány pozíciója egész számkéntvalueOne = "Ez a szöveg"positionofSubstring = InStrRev (valueOne, "Th")Hibakeresés.Substring pozíció nyomtatásaEnd Sub |
Az eredmény az azonnali ablakba kerül:
Az InstrRev függvény visszaadta a „Th” allánc első előfordulásának pozícióját, de a számlálást a végétől kezdve, ami 9 -es, vegye figyelembe.
Szóközök eltávolítása karakterláncból
A VBA LTrim karakterlánc funkció
A VBA LTrim funkció eltávolítja az összes vezető szóközt egy szövegből vagy karakterláncból. A VBA LTrim karakterlánc függvény szintaxisa a következő:
LTrim (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan használhatja a VBA LTrim függvényt az adott karakterlánc elején lévő szóközök eltávolítására:
123456789101112 | A TheLTrimStringFunction () al használataDim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "Ez a webhely címe: https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox értékKettőEnd Sub |
Az eredmények a következők:
Az LTrim Funkció eltávolította az értékközök első szóközeit, ami a második Üzenetdobozban látható.
A VBA RTrim karakterlánc funkció
A VBA RTrim funkció eltávolítja az összes záró szóközt egy szövegből vagy karakterláncból. A VBA RTrim karakterlánc függvény szintaxisa a következő:
RTrim (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan lehet a VBA RTrim függvénnyel eltávolítani az adott karakterlánc záró szóközét:
123456789101112 | A TheRTrimStringFunction funkció használata ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "Ez a webhely címe: https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox értékKettőEnd Sub |
Az elért eredmények a következők:
Az RTrim funkció eltávolította az értéketwo zárótereit, ami a második üzenetmezőben látható.
A VBA vágási karakterlánc funkció
A VBA vágási funkció eltávolítja a szövegből vagy karakterláncból az összes kezdő és záró szóközt. A VBA Trim String függvény szintaxisa a következő:
Vágás (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan használhatja a VBA vágási funkciót az adott karakterlánc elején és végén lévő szóközök eltávolításához:
123456789101112 | A TheTrimStringFunction funkció használata ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "Ez a webhely címe: https://easyexcel.net/excel/"valueTwo = Vágás (valueOne)MsgBox valueOneMsgBox értékKettőEnd Sub |
Az eredmények a következők:
A Vágás funkció eltávolította a második és a második üzenettáblában látható értéketwo első és hátsó szóközét.
VBA tokfunkciók
A VBA LCase String függvény
A VBA LCase funkció a szövegben vagy karakterláncban lévő betűket kisbetűvé alakítja. A VBA LCase String Function függvény szintaxisa:
LCase (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan használhatja az LCase String Function funkciót az adott karakterlánc összes betűjének kisbetűvé alakításához:
1234567891011 | SubA TheLCaseStringFunction () használataDim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "EZ A TERMÉK"valueTwo = LCase (valueOne)MsgBox értékKettőEnd Sub |
Az eredmény:
Az LCase funkció a karakterlánc összes betűjét kisbetűvé alakította.
A VBA UCase String függvény
A VBA UCase függvény a szövegben vagy karakterláncban lévő betűket nagybetűvé alakítja. A VBA UCase String függvény szintaxisa a következő:
UCase (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan használhatja az UCase String függvényt az adott karakterlánc összes betűjének nagybetűsre konvertálására:
1234567891011 | A TheUCaseStringFunction funkció használata ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "ez a termék"valueTwo = UCase (valueOne)MsgBox értékKettőEnd Sub |
Az eredmény:
Az UCase függvény a karakterlánc összes betűjét nagybetűvé alakította át.
A VBA StrConv függvény
A VBA StrConv függvény a szövegben vagy karakterláncban lévő betűket nagybetűvé, kisbetűvé, megfelelő nagybetűvé vagy unicode -ba tudja alakítani a megadott konverziótípustól függően. A VBA StrConv karakterlánc függvény szintaxisa a következő:
StrConv (karakterlánc, konverzió, [LCID]), ahol:
- Karakterlánc - Az eredeti szöveg.
- Konverzió - A kívánt konverzió típusa.
- [LCID] (Választható) -Opcionális paraméter, amely a LocaleID -t határozza meg. Ha üres, a rendszer LocaleID -t használja.
A következő kód bemutatja, hogyan használhatja a StrConv karakterlánc függvényt a karakterlánc megfelelő méretűvé alakításához:
1234567891011 | SubA TheStrConvStringFunction () használataDim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "ez a termék"valueTwo = StrConv (valueOne, vbProperCase)MsgBox értékKettőEnd Sub |
Az eredmény:
A konverziós paraméter segítségével adja meg a végrehajtani kívánt konverzió típusát:
- A vbLowerCase a szöveg összes betűjét kisbetűvé alakítja.
- A vbUpperCase a szöveg összes betűjét nagybetűvé alakítja.
- A vbProperCase a szöveg minden szavának első betűjét nagybetűvé alakítja, míg a többi betűt kisbetűként tartja meg.
- A vbUnicode karakterláncot Unicode -ra alakít át.
- A vbFromUnicode karakterláncot Unicode -ból a rendszer alapértelmezett kódlapjává alakít át.
A karakterláncok összehasonlítása
A VBA StrComp funkció
A VBA StrComp karakterlánc -funkció lehetővé teszi két karakterlánc összehasonlítását. A függvény visszatér:
- 0, ha a két karakterlánc megegyezik
- -1, ha a string1 kisebb, mint a string2
- 1, ha a string1 nagyobb, mint a string2
- Null érték, ha a karakterláncok bármelyike Null volt
A következő kód bemutatja, hogyan használhatja a StrComp függvényt két karakterlánc összehasonlításához:
123456789101112 | SubA TheStrCompStringFunction () használataDim érték: Egy mint karakterláncDim érték: Két karakterláncAz összehasonlítás halvány eredménye egészkéntvalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Hibakeresés. Összehasonlítás nyomtatási eredményeEnd Sub |
Az eredmény:
A StrComp függvény pontos egyezést talált a két karakterlánc között, és 0 -t adott vissza.
A VBA Like operátor
A VBA Like Operator lehetővé teszi, hogy összehasonlítson egy szöveget vagy karakterláncot egy mintával, és megnézze, van -e egyezés. A Like operátort általában helyettesítő karakterekkel együtt használja. A következő kód bemutatja a Like operátor használatát:
123456789101112 | SubA TheLikeOperatorInVBA () használataDim érték: Egy mint karakterláncvalueOne = "Nézzük meg a kimenetet"Ha valueOne Like "*view*" AkkorMsgBox "Van egyezés, ez a karakterlánc tartalmazza a nézet szót"MásMsgBox "Nincs találat"Vége HaEnd Sub |
Az eredmény:
A Like operátorral használható minták a következőket helyettesíthetik:
- ? amely egyetlen karakterhez illeszkedik
- # amely egy számjegynek felel meg
- * amely nulla vagy több karakternek felel meg
A következő kód megmutatja, hogyan szeretné használni a Like operátort és a? helyettesítő karakter, hogy megfeleljen a kód mintájának:
123456789101112 | Sub usingTheLikeOperatorWithAWildcardInVBA ()Dim érték: Egy mint karakterláncvalueOne = "A"Ha valueOne Like "?? e" AkkorMsgBox "Egyezés található, egyezési mintát találtunk"MásMsgBox "Nincs találat"Vége HaEnd Sub |
A kapott eredmény:
Egyéb hasznos VBA karakterlánc -funkciók
A VBA csere karakterlánc funkciója
A VBA cserefunkció egy karakterlánc karakterkészletét egy másik karakterkészlettel helyettesíti. A VBA Replace String Function függvény szintaxisa a következő:
Csere (String, Find, Replace, [Start], [Count], [Compare]) ahol:
- Karakterlánc - Az eredeti szöveg.
- Keresés - Az eredeti szövegben keresendő allánc.
- Csere - Az a karakterlánc, amelyre a Find alstringet le kell cserélni.
- Rajt (Választható)- Az a pozíció, ahol a keresést az eredeti szövegből kell kezdeni. Ha üres, akkor az 1 értéket használja, és a funkció az első karakter pozícióból indul.
- Számol (Választható)- A cserélendő eredeti szövegben található Find allánc előfordulásának száma. Ha üres, akkor a Find alsorozat összes előfordulása lecserélődik.
- Összehasonlítás (Választható)- Ez határozza meg az összehasonlítás típusát. Ha üres, akkor bináris összehasonlítást használunk.
-vbBinaryCompare - Bináris összehasonlítás
-vbTextCompare - Szöveg összehasonlítás
-vbDatabaseCompare - Adatbázis -összehasonlítás (Ez a lehetőség csak a Microsoft Access rendszerben használatos, és az adatbázis alapján készült összehasonlítás.)
A következő kód bemutatja a karakterlánc cseréje funkció használatát:
1234567891011 | Sub usingTheReplaceStringFunction ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "ProductABC"valueTwo = Csere (valueOne, "ABC", "XYZ")MsgBox értékKettőEnd Sub |
Az eredmény:
A Replace Function megtalálta az ABC alláncot a ProductABC -n belül, és lecserélte az XYZ alláncra.
A VBA StrReverse függvény
A VBA StrReverse függvény megfordítja az adott szöveg vagy karakterlánc karaktereit. A VBA StrReverse String függvény szintaxisa a következő:
StrReverse (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan kell használni a VBA StrReverse függvényt a Product karakterlánc karakterének megfordításához:
1234567891011 | SubA TheStrReverseStringFunction ()Dim érték: Egy mint karakterláncDim érték: Két karakterláncvalueOne = "Termék"valueTwo = StrReverse (valueOne)MsgBox értékKettőEnd Sub |
Az eredmény:
A VBA Len String függvény
A VBA Len függvény a szöveges karakterlánc karaktereinek számát adja vissza. A VBA Len String függvény szintaxisa:
Len (karakterlánc), ahol:
- Karakterlánc - Az eredeti szöveg.
A következő kód bemutatja, hogyan használhatja a Len String függvényt az AutomateExcel karakterlánc hosszának meghatározásához:
1234567891011 | A TheLenFunction () használataDim érték: Egy mint karakterláncHalvány stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Hibakeresés. Nyomtatási karakterláncLengthEnd Sub |
Az eredmény:
A Len függvény megszámolta az AutomateExcel szöveg összes karakterét, ami 13 betűből áll.