I VBA kan du sammenligne to strenger med Som operatøren for å kontrollere matchingen av strengene. I denne opplæringen lærer du hvordan du bruker denne operatøren med forskjellige mønstre.
Hvis du vil lære å sammenligne strenger i VBA, klikk her: VBA Compare Strings - StrComp
Hvis du vil lære å bruke sammenligningsoperatorer, klikk her: VBA -sammenligningsoperatorer - ikke lik og mer
Bruke Like Operator for å sammenligne to strenger
Med Like -operatoren kan vi sjekke om en streng begynner med en bestemt tekst, inkluderer den, etc. Som standard er Som operatøren sammenligner tegn ved hjelp av den binære metoden. Dette betyr at operatøren er mellom store og små bokstaver. Hvis du vil gjøre det ufølsomt for store og små bokstaver, må du sette det Alternativ Sammenlign tekst på toppen av modulen. Ved å bruke denne metoden, vil Som operatøren anser "S" og "s" de samme tegnene. I eksemplene våre bruker vi standard sammenligning mellom store og små bokstaver.
Hvis matchningen eksisterer, vil Som operatøren returnerer True som et resultat, eller False ellers.
Først skal vi se på det enkle eksemplet hvor vi vil kontrollere om strengvariabelen begynner med MR. For å gjøre dette må du sette en stjerne (*) på slutten av den matchende teksten (MR*). Her er koden:
1234567891011121314 | Sub LikeDemo ()Dim strName Som strengDim blnResult As BooleanstrName = "Mr. Michael James"If strName Like "Mr*" ThenblnResult = SantEllersblnResult = FalskSlutt omSlutt Sub |
I dette eksemplet vil vi kontrollere om string strName begynner med MR og returner True eller False i variabelen blnResult.
Først setter vi verdien av strName til Michael James:
1 | strName = "Mr. Michael James" |
Deretter bruker vi Som operatør i If -setningen:
12345 | If strName Like "Mr*" ThenblnResult = SantEllersblnResult = FalskSlutt om |
Som strName begynner med MR, blnResult returnerer True:
Bilde 1. Bruk Liker -operatoren til å sjekke om strengen begynner med bestemte tegn
Bruke Like -operatøren med forskjellige matchende mønstre
Liker -operatøren kan kontrollere matchingen av to strenger basert på forskjellige mønstre. Her er listen over mulige matchende mønstre:
Mønsterkode |
Type matchning |
* | Matcher 0 eller flere tegn |
? | Matcher et enkelt tegn |
# | Matcher et enkelt siffer |
[tegn] | Matcher et enkelt tegn fra en char -liste |
[A-Å] | Matcher alle store bokstaver fra alfabetet |
[A-Za-z] | Matcher alle tegn fra alfabetet |
[! tegn] | Samsvarer med et enkelt tegn, ekskludert en røyke liste |
Nå kan vi se hvordan vi bruker disse mønstrene i koden. Her er eksemplet på flere mønstre:
Matcher et enkelt tegn:
1234567 | strText1 = "ABCDE"Hvis strText1 liker "AB? DE" DablnResult1 = SantEllersblnResult1 = FeilSlutt om |
Matcher et enkelt siffer:
1234567 | strText2 = "AB7DE"Hvis strText2 liker "AB#DE" DablnResult2 = SantEllersblnResult2 = FalskeSlutt om |
Matcher et stort bokstav fra alfabetet:
1234567 | strText3 = "ABCDE"Hvis strText3 liker "AB [A-Z] DE" DablnResult3 = SantEllersblnResult3 = FalskeSlutt om |
Ikke samsvarende med store bokstaver fra alfabetet:
1234567 | strText4 = "AB7DE"Hvis strText4 liker "AB [! A-Z] DE" DablnResult4 = SantEllersblnResult4 = FeilSlutt om |
Matcher et hvilket som helst tegn fra alfabetet (store eller små bokstaver):
1234567 | strText5 = "ABcDE"Hvis strText5 liker "AB [A-Za-z] DE" DablnResult5 = SantEllersblnResult5 = FeilSlutt om |
Når du kjører koden, kan du se at Som operator returnerer True in blnResult variabler for hver sammenligning:
Bilde 2. Bruke Like -operatoren med forskjellige matchende mønstre