VBA som

VBA som operatör

Liksom är en operatör i VBA och detta är en jämförelseoperator som jämför en given sträng som argument i en uppsättning strängar och den matchar mönstret, om mönstret matchas är det erhållna resultatet sant och om mönstret inte matchar då erhållet resultat är falskt, detta är en inbyggd operatör i VBA.

"LIKE" -operatören är den mest underutnyttjade operatören trots dess underbara användning. Jag har inte sett många människor som använder den här operatören i sin helhet i sin kodning. Jag är faktiskt en av dem som inte använder den här operatören ganska ofta. ”VBA LIKE” -operatören låter oss matcha strängens mönster mot hela strängen. Genom att använda VBA LIKE-operatören kan vi jämföra två strängar mot det givna mönstret. Vi kan kontrollera om strängen innehåller en understräng i VBA eller om vi också kan se om strängen innehåller något specifikt format. Om mönstret matchar strängen returnerar VBA LIKE-operatören SANT eller annars FALSKT.

När vi matchar strängar måste vi använda jokertecken till det mönster vi anger. Nedan visas jokertecken som vi använder i VBA LIKE-operatören.

  • Frågetecken (?): Detta används för att matcha valfritt tecken från strängen. Till exempel, om vi har en sträng "CAT" och mönstret är "C? T" returnerar VBA LIKE-operatören SANT. Om strängen är "CATCH och mönstren är" C? T "returnerar VBA LIKE-operatören FALSE.
  • Asterisk (*): Detta matchar noll eller fler tecken. Till exempel, om strängen är “Bra” och mönstret är “G ** d” returnerar VBA LIKE-operator SANT.
  • Brackets ([]): Detta matchar alla enstaka tecken som anges inom parentes.
  • [Char-Char]: Detta matchar varje enskilt tecken i intervallet Char-Char.
  • [! Chars]: Detta matchar varje enskilt tecken som inte finns i listan.
  • [! Char-Char]: Detta matchar varje enskilt tecken som inte finns i intervallet Char-Char.

Exempel på VBA LIKE Operator

Låt oss se några av exemplen på VBA LIKE-operatör nu.

Du kan ladda ner denna VBA Like Excel-mall här - VBA Like Excel-mall

Exempel # 1 - Med frågetecken

Koda:

 UnderfrågaMark_Exempel1 () Dim k som sträng k = "Bra" Om k gillar "Gå? D" Då MsgBox "Ja" Annars MsgBox "Nej" Avsluta om slut Sub 

I koden ovan har vi angett strängen som "Bra" och mönstret är "Go? D". Eftersom frågetecknet kan matcha ett enstaka tecken kommer resultatet att visas som ”Ja”.

Nu ändrar jag strängen till “Good Morning”.

Koda:

 Sub QuestionMark_Example1 () Dim k As String k = "Good Morning" If k Like "Go? D" Then MsgBox "Yes" Else MsgBox "No" End if End Sub 

I det här fallet kommer det att visas ”Nej” eftersom vi har lagt till ytterligare ett ord i strängen, dvs morgon. För att matcha ett antal tecken måste vi använda asterisken.

Exempel # 2 - Med Asterisk

Koda:

 Sub QuestionMark_Example2 () Dim k As String k = "Good Morning" If k Like "* Good *" Then MsgBox "Yes" Else MsgBox "No" End if End Sub 

I exemplet ovan har jag lagt till två asterisker före och efter karaktären “* Bra *”. Detta kommer att matcha ordet "Bra" i strängen "God morgon" och returnerar "Ja".

Exempel # 3 - Med fästen []

Koda:

 Underfråga Mark_Exempel3 () Dim k som sträng k = "God morgon" Om k gillar "* [M] *" Då MsgBox "Ja" Annars MsgBox "Nej" Avsluta om slutet Sub 

Ovanstående kod matchar den enskilda bokstaven som anges i parentes “M” och returnerar resultatet som Ja.

Exempel # 4 - Med parenteser och alfabet [AZ]

Koda:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AD] *" Then MsgBox "Yes" Else MsgBox "No" End if End Sub 

I ovanstående har jag nämnt karaktärerna som matchar från A till D.

Detta kommer att returnera "Nej" eftersom det inte finns några tecken från A till D i strängen "God morgon" .

Nu ändrar jag mönstret till [AH]

Koda:

 Sub QuestionMark_Example4 () Dim k As String k = "Good Morning" If k Like "* [AH] *" Then MsgBox "Yes" Else MsgBox "No" End if End Sub 

Detta kommer att returnera "Ja" för från A till H har vi en karaktär "G" i strängen "Good Morning"

Så här kan vi använda VBA "LIKE" -operatören för att matcha alla strängar från mönstret med jokertecken.