VBA -jokertegn

Denne vejledning viser, hvordan du bruger jokertegn i VBA.

Jokertegn bruges i alle programmeringssprog og databaseapplikationer som SQL Server. Et jokertegn kan defineres som et symbol, der bruges til at erstatte et eller flere tegn i en tekststreng. For eksempel finder denne tekststreng - "mo*" - ordene mor, mus, elg, mor osv.; mens denne tekststreng “mo?” vil kun finde ordet mor som jokertegn? erstatter kun et tegn.

Vi bruger jokertegn med Like Operator, som er et lettere alternativ til VBA Regex.

Brug af Asterix (*) jokertegn i VBA

Asterix -jokertegnet erstatter et eller flere tegn i en VBA -streng.

Lad os se på følgende celleområde i Excel:

Ved at bruge et Asterix -jokertegn i vores VBA -kode kan vi finde alle de fornavne, der begynder med “M”, og ændre tekstens farve til rød.

12345678 Sub CheckForM ()Dim x Som heltalFor x = 3 til 8Hvis rækkevidde ("B" og x). Værdi som "M*" SåOmråde ("B" & x). Font.Color = vbRedAfslut HvisNæste xAfslut Sub

Vi har derfor gennemgået området og fundet alle de fornavne, der begynder med bogstavet M, da vores wildcard -streng er “M*

Resultatet af at køre koden ovenfor er vist nedenfor.

Hvis vi skulle bruge jokertegnsstrengen “Ma*” - så ville kun fornavnene i B3 og B4 ændre sig.

Brug af spørgsmålstegnet (?) Jokertegn i VBA

Spørgsmålstegnet erstatter et enkelt tegn i en VBA -streng.

Overvej følgende data:

Vi kan bruge jokertegnsstrengen "? Im" til at finde fornavne, der ender med "im"

12345678 Sub CheckForIM ()Dim x Som heltalFor x = 3 til 8Hvis område ("B" & x) .Værdi kan lide "? Im" SåOmråde ("B" & x). Font.Color = vbRedAfslut HvisNæste xAfslut Sub

Resultatet af at køre denne kode er vist nedenfor:

Brug af [char list] som et jokertegn

Eksemplet ovenfor kan ændres lidt, så vi kan bruge spørgsmålstegnet ud over en tegnliste over tilladte tegn. Jokertegnsstrengen kan derfor ændres til "? [E-i] m", hvor det første tegn kan være hvad som helst, det andet tegn skal være et tegn mellem e og i, og det sidste bogstav skal være tegnet "m". Kun 3 tegn er tilladt.

12345678 Sub CharListTest ()Dim x Som heltalFor x = 3 til 8Hvis Range ("B" & x) .Værdi kan lide "? [E-i] m" HerefterOmråde ("B" & x). Font.Color = vbRedAfslut HvisNæste xAfslut Sub

Resultatet af denne kode ville være:

VBA -programmering | Kodegenerator virker for dig!

Brug af hash (#) jokertegn i VBA

Jokertegnet (#) erstatter et enkelt ciffer i en VBA -streng. Vi kan matche mellem 0 og 9.

12345678910 Sub CheckForNumber ()Dim x As Integer, y As IntegerFor x = 3 til 8For y = 2 til 5Hvis ActiveSheet.Cells (x, y) kan lide "##" SåActiveSheet.Cells (x, y) .Font.Color = vbRedAfslut HvisNæste yNæste xAfslut Sub

Koden ovenfor går gennem alle cellerne i området ("B3: E8") og ændrer farven på teksten i en celle til RØD, hvis der findes et tocifret tal i cellen.

I eksemplet herunder ændrer koden kun nummeret, hvis det sidste tal er et 9.

12345678910 Sub CheckFor9 ()Dim x As Integer, y As IntegerFor x = 3 til 8For y = 2 til 5Hvis ActiveSheet.Cells (x, y) kan lide "#9" SåActiveSheet.Cells (x, y) .Font.Color = vbRedAfslut HvisNæste yNæste xAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave