Ta vadnica bo pokazala, kako uporabljati nadomestne znake v VBA.
Nadomestni znaki se uporabljajo v vseh programskih jezikih in aplikacijah zbirk podatkov, kot je SQL Server. Nadomestni znak je mogoče opredeliti kot simbol, ki se uporablja za zamenjavo enega ali več znakov v besedilnem nizu. Na primer, ta besedilni niz - "mo*" - bo našel besede mama, miška, los, mamica itd .; medtem ko je ta besedilni niz "mo?" ali bo kot nadomestni znak našla samo besedo mama? nadomesti samo en znak.
Z operaterjem Like uporabljamo nadomestne znake, kar je lažja alternativa VBA Regexu.
Uporaba nadomestnega znaka Asterix (*) v VBA
Nadomestni znak Asterix nadomesti enega ali več znakov v nizu VBA.
Oglejmo si naslednji obseg celic v Excelu:
Z uporabo nadomestnega znaka Asterix v kodi VBA lahko najdemo vsa imena, ki se začnejo z "M" in spremenijo barvo besedila v rdečo.
12345678 | Podključek za preverjanje ()Dim x kot celo številoZa x = 3 do 8Če Range ("B" & x) .Vrednost kot "M*" PotemObseg ("B" & x). Font.Color = vbRedKonec ČeNaslednji xEnd Sub |
Zato smo prebrali obseg in našli vsa imena, ki se začnejo s črko M, saj je naš nadomestni niz "M*”
Rezultat izvajanja zgornje kode je prikazan spodaj.
Če bi uporabili nadomestni niz "Ma*" - bi se spremenila samo imena v B3 in B4.
Uporaba nadomestnega znaka vprašanj (?) V VBA
Vprašalnik bo nadomestil en sam znak v nizu VBA.
Upoštevajte naslednje podatke:
Z nadomestnim nizom »? Im« lahko poiščemo vsa imena, ki se končajo na »im«
12345678 | Sub CheckForIM ()Dim x kot celo številoZa x = 3 do 8Če Range ("B" & x) .Vrednost kot "? Im" PotemObseg ("B" & x). Font.Color = vbRedKonec ČeNaslednji xEnd Sub |
Rezultat te kode je prikazan spodaj:
Uporaba [char list] kot nadomestnega znaka
Zgornji primer lahko rahlo spremenimo, da lahko poleg seznama znakov dovoljenih znakov uporabimo tudi vprašaj. Nadomestni niz je zato mogoče spremeniti v »? [E-i] m«, kjer je lahko prvi znak karkoli, drugi znak mora biti znak med e in i, zadnja črka pa mora biti znak »m«. Dovoljeni so samo 3 znaki.
12345678 | Sub CharListTest ()Dim x kot celo številoZa x = 3 do 8Če Range ("B" & x) .Vrednost kot "? [E-i] m" PotemRazpon ("B" & x). Font.Color = vbRedKonec ČeNaslednji xEnd Sub |
Rezultat te kode bi bil:
Programiranje VBA | Generator kod deluje za vas!
Uporaba hash (#) nadomestnega znaka v VBA
Nadomestni znak hash (#) nadomesti enomestno številko v nizu VBA. Lahko se ujemamo med 0 in 9.
12345678910 | Sub CheckForNumber ()Dim x kot celo število, y kot celo številoZa x = 3 do 8Za y = 2 do 5Če ActiveSheet.Cells (x, y) Všeč mi je "##" PotemActiveSheet.Cells (x, y). Font.Color = vbRedKonec ČeNaslednji yNaslednji xEnd Sub |
Zgornja koda bo krožila skozi vse celice v obsegu (»B3: E8«) in spremenila barvo besedila v celici v RDEČO, če je v tej celici dvomestno število.
V spodnjem primeru bo koda spremenila le številko, če je zadnja številka 9.
12345678910 | Sub CheckFor9 ()Dim x kot celo število, y kot celo številoZa x = 3 do 8Za y = 2 do 5Če ActiveSheet.Cells (x, y) Všeč mi je "#9" PotemActiveSheet.Cells (x, y). Font.Color = vbRedKonec ČeNaslednji yNaslednji xEnd Sub |