VBA-jokertekens

Deze zelfstudie laat zien hoe u jokertekens in VBA kunt gebruiken.

Wildcards worden gebruikt in alle programmeertalen en databasetoepassingen zoals SQL Server. Een jokerteken kan worden gedefinieerd als een symbool dat wordt gebruikt om een ​​of meer tekens in een tekstreeks te vervangen. Deze tekstreeks - "mo*" - zal bijvoorbeeld de woorden mama, muis, eland, mama enz. vinden; terwijl deze tekstreeks "mo?" vindt alleen het woord moeder als wildcard? vervangt slechts één teken.

We gebruiken jokertekens met de Like Operator, een eenvoudiger alternatief voor VBA Regex.

Het Asterix (*)-wildcard gebruiken in VBA

Het Asterix-jokerteken vervangt een of meer tekens in een VBA-tekenreeks.

Laten we eens kijken naar het volgende celbereik in Excel:

Door een Asterix-wildcard in onze VBA-code te gebruiken, kunnen we alle voornamen vinden die beginnen met "M" en de kleur van de tekst in rood veranderen.

12345678 Sub CheckForM()Dim x als geheel getalVoor x = 3 tot 8If Range ("B" & x). Waarde zoals "M *" DanBereik ("B" & x). Lettertype. Kleur = vbRedStop alsVolgende xEinde sub

We hebben daarom het bereik doorlopen en alle voornamen gevonden die beginnen met de letter M, aangezien onze jokertekenreeks is "M*

Het resultaat van het uitvoeren van de bovenstaande code wordt hieronder weergegeven.

Als we de jokertekenreeks "Ma*" zouden gebruiken, dan zouden alleen de voornamen in B3 en B4 veranderen.

Het vraagteken (?) jokerteken gebruiken in VBA

Het vraagteken vervangt een enkel teken in een VBA-tekenreeks.

Denk aan de volgende gegevens:

We kunnen de jokertekenreeks "?im" gebruiken om alle voornamen te vinden die eindigen op "im"

12345678 Sub CheckForIM()Dim x als geheel getalVoor x = 3 tot 8If Range ("B" & x). Waarde zoals "? im" DanBereik ("B" & x). Lettertype. Kleur = vbRedStop alsVolgende xEinde sub

Het resultaat van het uitvoeren van deze code wordt hieronder weergegeven:

[char list] gebruiken als jokerteken

Het bovenstaande voorbeeld kan enigszins worden aangepast zodat we het vraagteken kunnen gebruiken, naast een lijst met toegestane tekens. De jokertekenreeks kan daarom worden gewijzigd in "?[e-i]m" waarbij het eerste teken van alles kan zijn, het tweede teken een teken tussen e en i moet zijn en de laatste letter het teken "m" moet zijn. Er zijn slechts 3 tekens toegestaan.

12345678 Sub CharLijstTest()Dim x als geheel getalVoor x = 3 tot 8If Range("B" & x).Waarde zoals "?[e-i]m" ThenBereik ("B" & x). Lettertype Kleur = vbRoodStop alsVolgende xEinde sub

Het resultaat van deze code zou zijn:

VBA-programmering | Code Generator werkt voor u!

Het hash-jokerteken (#) gebruiken in VBA

Het jokerteken hash (#) vervangt een enkel cijfer in een VBA-tekenreeks. We kunnen matchen tussen 0 en 9.

12345678910 Sub CheckForNumber()Dim x als geheel getal, y als geheel getalVoor x = 3 tot 8Voor y = 2 tot 5Als ActiveSheet.Cells(x, y) Like "##" DanActiveSheet.Cells(x, y).Font.Color = vbRedStop alsVolgende jaarVolgende xEinde sub

De bovenstaande code loopt door alle cellen in het bereik ("B3: E8") en verandert de kleur van de tekst in een cel in ROOD als er een dubbelcijferig nummer in die cel wordt gevonden.

In het onderstaande voorbeeld verandert de code het nummer alleen als het laatste nummer een 9 is.

12345678910 Sub CheckFor9()Dim x als geheel getal, y als geheel getalVoor x = 3 tot 8Voor y = 2 tot 5Als ActiveSheet.Cells(x, y) Like "#9" DanActiveSheet.Cells(x, y).Font.Color = vbRedStop alsVolgende jaarVolgende xEinde sub

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave