I VBA kan du sammenligne to strenge ved hjælp af Synes godt om operatør for at kontrollere matchning af strengene. I denne vejledning lærer du, hvordan du bruger denne operator med forskellige mønstre.
Hvis du vil lære at sammenligne strenge i VBA, klik her: VBA Sammenlign strenge - StrComp
Hvis du vil lære at bruge sammenligningsoperatorer, skal du klikke her: VBA -sammenligningsoperatorer - ikke lig med og mere
Brug af lignende operatør til at sammenligne to strenge
Med Like -operator kan vi kontrollere, om en streng begynder med en bestemt tekst, inkluderer den osv. Som standard er Synes godt om operatoren sammenligner tegn ved hjælp af den binære metode. Det betyder, at operatøren er store og små bogstaver. Hvis du vil gøre det ufølsomt for store og små bogstaver, skal du sætte det Mulighed Sammenlign tekst øverst på dit modul. Ved hjælp af denne metode, Synes godt om operatøren betragter “S” og “s” de samme tegn. I vores eksempler vil vi bruge standard sammenligningen mellem store og små bogstaver.
Hvis matchningen findes, vil Synes godt om operator returnerer True som følge heraf, eller Falsk på anden måde.
Først vil vi se på det enkle eksempel, hvor vi vil kontrollere, om vores strengvariabel begynder med Hr. For at gøre dette skal du sætte en stjerne (*) i slutningen af den matchende tekst (Hr*). Her er koden:
1234567891011121314 | Sub LikeDemo ()Dim strName Som strengDim blnResult Som boolskstrName = "Mr. Michael James"Hvis strName Som "Mr*" SåblnResult = SandtAndetblnResult = FalskAfslut HvisAfslut Sub |
I dette eksempel vil vi kontrollere, om string strName starter med Hr og returner Sandt eller Falsk i variablen blnResult.
Først sætter vi værdien af strName til Michael James:
1 | strName = "Mr. Michael James" |
Derefter bruger vi Synes godt om operatør i If -sætningen:
12345 | Hvis strName Som "Mr*" SåblnResult = SandtAndetblnResult = FalskAfslut Hvis |
Som den strName starter med Hr, det blnResult returnerer True:
Billede 1. Brug Like -operatoren til at kontrollere, om strengen begynder med bestemte tegn
Brug af lignende operatør med forskellige matchende mønstre
Like -operatoren kan kontrollere matchning af to strenge baseret på forskellige mønstre. Her er listen over mulige matchende mønstre:
Mønster kode |
Matchningstype |
* | Matcher 0 eller flere tegn |
? | Matcher en enkelt karakter |
# | Matcher et enkelt ciffer |
[tegn] | Matcher et enkelt tegn fra en char -liste |
[A-Z] | Matcher ethvert stort bogstav fra alfabetet |
[A-Za-z] | Matcher ethvert tegn fra alfabetet |
[! tegn] | Matcher et enkelt tegn eksklusive en char -liste |
Nu kan vi se, hvordan vi bruger disse mønstre i koden. Her er eksemplet på flere mønstre:
Matcher et enkelt tegn:
1234567 | strText1 = "ABCDE"Hvis strText1 kan lide "AB? DE" SåblnResult1 = SandtAndetblnResult1 = FalskAfslut Hvis |
Matcher et enkelt ciffer:
1234567 | strText2 = "AB7DE"Hvis strText2 kan lide "AB#DE" SåblnResult2 = SandtAndetblnResult2 = FalskAfslut Hvis |
Matchning af et stort bogstav fra alfabetet:
1234567 | strText3 = "ABCDE"Hvis strText3 kan lide "AB [A-Z] DE" SåblnResult3 = SandtAndetblnResult3 = FalskAfslut Hvis |
Matcher ikke noget stort bogstav fra alfabetet:
1234567 | strText4 = "AB7DE"Hvis strText4 kan lide "AB [! A-Z] DE" SåblnResult4 = SandtAndetblnResult4 = FalskAfslut Hvis |
Matchning af ethvert tegn fra alfabetet (store eller små bogstaver):
1234567 | strText5 = "ABcDE"Hvis strText5 kan lide "AB [A-Za-z] DE" SåblnResult5 = SandtAndetblnResult5 = FalskAfslut Hvis |
Når du udfører koden, kan du se, at Synes godt om operator returnerer True in blnResult variabler for hver sammenligning:
Billede 2. Brug af Like -operatoren med forskellige matchende mønstre