Ez az oktatóanyag bemutatja a helyettesítő karakterek használatát a VBA -ban.
A helyettesítő karaktereket minden programozási nyelvben és adatbázis -alkalmazásban, például az SQL Serverben használják. A helyettesítő karakter szimbólumként definiálható, amely egy vagy több karakter helyettesítésére szolgál a szöveges karakterláncban. Például ez a szöveges karakterlánc - „mo*” - megtalálja az anya, egér, jávorszarvas, anyu stb szavakat; míg ez a szöveges karakterlánc „mo?” csak az anya szót fogja megtalálni helyettesítőként? csak egy karaktert helyettesít.
Helyettesítő karaktereket használunk a Like Operatorral, amely a VBA Regex egyszerűbb alternatívája.
Az Asterix (*) helyettesítő karakter használata VBA -ban
Az Asterix helyettesítő karakter egy vagy több karaktert helyettesít egy VBA karakterláncban.
Nézzük az Excel alábbi celláit:
Az Asterix helyettesítő karakter használatával a VBA kódunkban megtalálhatjuk az összes „M” betűvel kezdődő keresztnevet, és a szöveg színét vörösre változtathatjuk.
12345678 | Sub CheckForM ()Dim x Mint egészX = 3 és 8 közöttHa tartomány ("B" & x) .Érték Mint "M*" AkkorTartomány ("B" & x) .Font.Color = vbRedVége HaKövetkező xEnd Sub |
Ezért végigjártuk a tartományt, és megtaláltuk az összes olyan keresztnevet, amely M betűvel kezdődik, mivel a helyettesítő karakterláncunk „M*”
A fenti kód futtatásának eredménye az alábbiakban látható.
Ha a „Ma*” helyettesítő karakterláncot használnánk - akkor csak a B3 és B4 keresztnevei változnának.
A kérdőjel (?) Helyettesítő karakter használata a VBA -ban
A kérdőjel helyettesíti a VBA karakterlánc egyetlen karakterét.
Vegye figyelembe a következő adatokat:
Az „? Im” helyettesítő karakterlánccal megkereshetjük az „im” végű keresztneveket
12345678 | Sub CheckForIM ()Dim x Mint egészX = 3 és 8 közöttHa tartomány ("B" & x) .Érték Mint "? Im" AkkorTartomány ("B" & x) .Font.Color = vbRedVége HaKövetkező xEnd Sub |
A kód futtatásának eredménye az alábbiakban látható:
A [karakterlista] használata helyettesítő karakterként
A fenti példa kissé módosítható, hogy lehetővé tegyük a kérdőjel használatát az engedélyezett karakterek listáján kívül. A helyettesítő karakterlánc tehát „? [E-i] m” -re módosítható, ahol az első karakter bármi lehet, a második karakternek az e és i közötti, az utolsó betűnek pedig az „m” karakternek kell lennie. Csak 3 karakter megengedett.
12345678 | Al CharListTest ()Dim x Mint egészX = 3 és 8 közöttHa Tartomány ("B" & x) .Érték Mint "? [E-i] m" AkkorTartomány ("B" & x) .Font.Color = vbRedVége HaKövetkező xEnd Sub |
Ennek a kódnak az eredménye a következő lenne:
VBA programozás | A kódgenerátor működik az Ön számára!
A hash (#) helyettesítő karakter használata VBA -ban
A hash (#) helyettesítő karakter helyettesíti a VBA karakterlánc egyetlen számjegyét. 0 és 9 közé eshetünk.
12345678910 | Sub CheckForNumber ()Dim x mint Integer, y mint IntegerX = 3 és 8 közöttY = 2 és 5 közöttHa ActiveSheet.Cells (x, y) Mint "##" AkkorActiveSheet.Cells (x, y) .Font.Color = vbRedVége HaKövetkező yKövetkező xEnd Sub |
A fenti kód végigmegy a tartomány összes celláján („B3: E8”), és megváltoztatja a cella szövegének színét VÖRÖS színre, ha két számjegyű szám található a cellában.
Az alábbi példában a kód csak akkor változtatja meg a számot, ha az utolsó szám 9.
12345678910 | Sub CheckFor9 ()Dim x mint Integer, y mint IntegerX = 3 és 8 közöttY = 2 és 5 közöttHa ActiveSheet.Cells (x, y) Like "#9" thenActiveSheet.Cells (x, y) .Font.Color = vbRedVége HaKövetkező yKövetkező xEnd Sub |