Tämä opetusohjelma osoittaa, miten jokerimerkkejä käytetään VBA: ssa.
Jokerimerkkejä käytetään kaikissa ohjelmointikielissä ja tietokantasovelluksissa, kuten SQL Serverissä. Jokerimerkki voidaan määritellä symboliksi, jota käytetään yhden tai useamman merkin korvaamiseen tekstimerkkijonossa. Esimerkiksi tämä tekstijono - "mo*" - löytää sanat äiti, hiiri, hirvi, äiti jne; kun tämä tekstijono "mo?" löytää vain sanan äiti yleismerkiksi? korvaa vain yhden merkin.
Käytämme jokerimerkkejä Like Operaattorin kanssa, joka on helpompi vaihtoehto VBA Regexille.
Asterix (*) -merkin käyttäminen VBA: ssa
Asterix -yleismerkki korvaa yhden tai useamman VBA -merkkijonon merkin.
Katsotaanpa seuraavaa solualuetta Excelissä:
Käyttämällä Asterix -yleismerkkiä VBA -koodissamme löydämme kaikki etunimet, jotka alkavat “M”: llä, ja muutamme tekstin värin punaiseksi.
12345678 | Sub CheckForM ()Dim x kokonaislukunaX = 3 - 8Jos alue ("B" & x) .Arvo kuten "M*" SittenAlue ("B" & x) .Font.Color = vbRedLoppu JosSeuraava xEnd Sub |
Siksi olemme kiertäneet alueen läpi ja löytäneet kaikki etunimet, jotka alkavat M -kirjaimella, koska jokerimerkkijono on "M*”
Yllä olevan koodin suorittamisen tulos näkyy alla.
Jos käyttäisimme jokerimerkkiä "Ma*" - vain etunimet B3: ssa ja B4: ssä vaihtuisivat.
Kysymysmerkin (?) Yleismerkin käyttäminen VBA: ssa
Kysymysmerkki korvaa yhden merkin VBA -merkkijonossa.
Harkitse seuraavia tietoja:
Voimme käyttää jokerimerkkiä "? Im" löytääksemme etunimet, jotka päättyvät "im"
12345678 | Sub CheckForIM ()Dim x kokonaislukunaX = 3 - 8Jos alue ("B" & x) .Arvo Kuten "? Im" SilloinAlue ("B" & x) .Font.Color = vbRedLoppu JosSeuraava xEnd Sub |
Tämän koodin suorittamisen tulos näkyy alla:
[Char -luettelon] käyttäminen yleismerkkinä
Yllä olevaa esimerkkiä voidaan muokata hieman, jotta voimme käyttää kysymysmerkkiä sallittujen merkkien luettelon lisäksi. Jokerimerkkijono voidaan siksi muuttaa muotoon "? [E-i] m", jossa ensimmäinen merkki voi olla mikä tahansa, toisen merkin on oltava merkki e: n ja i välillä ja viimeisen kirjaimen on oltava merkki "m". Vain 3 merkkiä sallitaan.
12345678 | Osa CharListTest ()Dim x kokonaislukunaX = 3 - 8Jos alue ("B" & x) .Arvo kuten "? [E-i] m" SittenAlue ("B" & x) .Font.Color = vbRedLoppu JosSeuraava xEnd Sub |
Tämän koodin tulos olisi:
VBA -ohjelmointi | Koodigeneraattori toimii sinulle!
Hajautusmerkin (#) käyttäminen VBA: ssa
Hajautusmerkki (#) korvaa yhden numeron VBA -merkkijonossa. Voimme vastata 0-9.
12345678910 | Sub CheckForNumber ()Dim x kokonaislukuna, y kokonaislukunaX = 3 - 8Y = 2 - 5Jos ActiveSheet.Cells (x, y) Kuten "##" SittenActiveSheet.Cells (x, y) .Font.Color = vbRedLoppu JosSeuraava ySeuraava xEnd Sub |
Yllä oleva koodi kiertää kaikki alueen solut ("B3: E8") ja muuttaa solun tekstin värin PUNAISEKSI, jos kyseisestä solusta löytyy kaksinumeroinen luku.
Alla olevassa esimerkissä koodi muuttaa numeroa vain, jos viimeinen numero on 9.
12345678910 | Sub CheckFor9 ()Dim x kokonaislukuna, y kokonaislukunaX = 3 - 8Y = 2 - 5Jos ActiveSheet.Cells (x, y) Like "#9" thenActiveSheet.Cells (x, y) .Font.Color = vbRedLoppu JosSeuraava ySeuraava xEnd Sub |