VBA jokertecken

Denna handledning kommer att visa hur du använder jokertecken i VBA.

Jokertecken används i alla programmeringsspråk och databasapplikationer som SQL Server. Ett jokertecken kan definieras som en symbol som används för att ersätta ett eller flera tecken i en textsträng. Till exempel hittar denna textsträng - "mo*" - orden mamma, mus, älg, mamma etc; medan den här textsträngen "mo?" hittar bara ordet mamma som jokertecken? ersätter endast ett tecken.

Vi använder jokertecken med Like Operator som är ett enklare alternativ till VBA Regex.

Använda Asterix (*) jokertecken i VBA

Asterix jokertecken ersätter ett eller flera tecken i en VBA -sträng.

Låt oss titta på följande cellintervall i Excel:

Genom att använda ett Asterix -jokertecken i vår VBA -kod kan vi hitta alla förnamn som börjar med “M” och ändra textens färg till röd.

12345678 Sub CheckForM ()Dim x Som heltalFör x = 3 till 8Om intervall ("B" & x) .Värde som "M*" DåOmråde ("B" & x). Font.Color = vbRedAvsluta omNästa xAvsluta Sub

Vi har därför gått igenom intervallet och hittat alla förnamn som börjar med bokstaven M eftersom vår jokerteckensträng är ”M*

Resultatet av att köra ovanstående kod visas nedan.

Om vi ​​skulle använda jokerteckensträngen “Ma*” - då skulle bara förnamnen i B3 och B4 ändras.

Använda frågetecknet (?) Jokertecken i VBA

Frågetecknet kommer att ersätta ett enda tecken i en VBA -sträng.

Tänk på följande data:

Vi kan använda jokertecknet "? Im" för att hitta alla förnamn som slutar på "im"

12345678 Sub CheckForIM ()Dim x Som heltalFör x = 3 till 8If Range ("B" & x) .Värde som "? Im" DåOmråde ("B" & x). Font.Color = vbRedAvsluta omNästa xAvsluta Sub

Resultatet av att köra den här koden visas nedan:

Använda [char list] som ett jokertecken

Exemplet ovan kan modifieras något så att vi kan använda frågetecknet, förutom en teckenlista över tillåtna tecken. Jokerteckensträngen kan därför ändras till "? [E-i] m" där det första tecknet kan vara vad som helst, det andra tecknet måste vara ett tecken mellan e och i och den sista bokstaven måste vara tecknet "m". Endast 3 tecken är tillåtna.

12345678 Sub CharListTest ()Dim x Som heltalFör x = 3 till 8If Range ("B" & x) .Värde som "? [E-i] m" DåOmråde ("B" & x). Font.Color = vbRedAvsluta omNästa xAvsluta Sub

Resultatet av denna kod skulle vara:

VBA -programmering | Kodgenerator fungerar för dig!

Använda hash (#) jokertecken i VBA

Jokertecknet (#) ersätter en enda siffra i en VBA -sträng. Vi kan matcha mellan 0 och 9.

12345678910 Sub CheckForNumber ()Dim x Som heltal, y Som heltalFör x = 3 till 8För y = 2 till 5Om ActiveSheet.Cells (x, y) gillar "##" DåActiveSheet.Cells (x, y) .Font.Color = vbRedAvsluta omNästa yNästa xAvsluta Sub

Koden ovan går igenom alla celler i intervallet ("B3: E8") och ändrar färgen på texten i en cell till RÖD om ett tvåsiffrigt nummer finns i den cellen.

I exemplet nedan kommer koden bara att ändra numret om det sista numret är ett 9.

12345678910 Sub CheckFor9 ()Dim x Som heltal, y Som heltalFör x = 3 till 8För y = 2 till 5Om ActiveSheet.Cells (x, y) gillar "#9" DåActiveSheet.Cells (x, y) .Font.Color = vbRedAvsluta omNästa yNästa xAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave