VBA-achtige operator

In VBA kun je twee strings vergelijken met de Leuk vinden operator om de overeenstemming van de tekenreeksen te controleren. In deze zelfstudie leert u hoe u deze operator met verschillende patronen kunt gebruiken.

Als je wilt leren hoe je strings in VBA kunt vergelijken, klik dan hier: VBA Compare Strings - StrComp

Als u wilt leren hoe u vergelijkingsoperatoren kunt gebruiken, klik dan hier: VBA-vergelijkingsoperators - niet gelijk aan & meer

De Like-operator gebruiken om twee strings te vergelijken

Met de Like-operator kunnen we controleren of een tekenreeks begint met een specifieke tekst, deze bevat, enz. Standaard is de Leuk vinden operator vergelijkt tekens met behulp van de binaire methode. Dit betekent dat de operator hoofdlettergevoelig is. Als je het hoofdletterongevoelig wilt maken, moet je Optie Tekst vergelijken bovenaan je module. Met behulp van deze methode, de Leuk vinden operator beschouwt "S" en "s" als dezelfde tekens. In onze voorbeelden gebruiken we de standaard, hoofdlettergevoelige vergelijking.

Als de overeenkomst bestaat, is de Leuk vinden operator retourneert True als resultaat, of False anders.

Eerst zullen we kijken naar het eenvoudige voorbeeld waarin we willen controleren of onze stringvariabele begint met Dhr. Om dit te doen, moet u een asterisk (*) plaatsen aan het einde van de overeenkomende tekst (Dhr*). Hier is de code:

1234567891011121314 Sub LikeDemo()Dim strName As StringDim blnResultaat als BooleaansstrName = "Meneer Michael James"Als strName Like "Mr*" DanblnResult = WaarAndersblnResult = OnwaarStop alsEinde sub

In dit voorbeeld willen we controleren of string strNaam begint met Dhr en retourneer True of False in de variabele blnResultaat.

Eerst stellen we de waarde van strNaam tot De heer Michael James:

1 strName = "Meneer Michael James"

Dan gebruiken we de Leuk vinden operator in de If-instructie:

12345 Als strName Like "Mr*" DanblnResult = WaarAndersblnResult = OnwaarStop als

als de strNaam begint met Dhr, de blnResultaat geeft waar terug:

Afbeelding 1. De Like-operator gebruiken om te controleren of de tekenreeks met bepaalde tekens begint

De Like-operator gebruiken met verschillende overeenkomende patronen

De Like-operator kan de overeenkomst van twee strings controleren op basis van verschillende patronen. Hier is de lijst met mogelijke overeenkomende patronen:

Patrooncode

Type overeenkomst

*

Komt overeen met 0 of meer tekens

?

Komt overeen met een enkel teken

#

Komt overeen met één cijfer

[tekens]

Komt overeen met een enkel teken uit een tekenlijst

[A-Z]

Komt overeen met elk hoofdletter uit het alfabet

[A-Za-z]

Komt overeen met elk teken uit het alfabet

[!tekens]

Komt overeen met een enkel teken met uitzondering van een tekenlijst

Nu kunnen we zien hoe we deze patronen in de code kunnen gebruiken. Hier is het voorbeeld voor meerdere patronen:

Overeenkomen met een enkel teken:

1234567 strText1 = "ABCDE"Als strText1 Zoals "AB?DE" DanblnResult1 = WaarAndersblnResult1 = OnwaarStop als

Overeenkomen met een enkel cijfer:

1234567 strText2 = "AB7DE"Als strText2 Like "AB#DE" DanblnResult2 = WaarAndersblnResult2 = OnwaarStop als

Overeenkomen met een hoofdletter uit het alfabet:

1234567 strText3 = "ABCDE"Als strText3 Like "AB[A-Z]DE" DanblnResult3 = WaarAndersblnResult3 = OnwaarStop als

Komt niet overeen met hoofdletters uit het alfabet:

1234567 strText4 = "AB7DE"Als strText4 Like "AB[!A-Z]DE" DanblnResult4 = WaarAndersblnResult4 = OnwaarStop als

Overeenkomen met een willekeurig teken uit het alfabet (hoofdletters of kleine letters):

1234567 strText5 = "ABcDE"Als strText5 Like "AB[A-Za-z]DE" DanblnResult5 = WaarAndersblnResult5 = OnwaarStop als

Wanneer u de code uitvoert, kunt u zien dat de Leuk vinden operator retourneert True in blnResultaat variabelen voor elke vergelijking:

Afbeelding 2. De Like-operator gebruiken met verschillende overeenkomende patronen

wave wave wave wave wave