VBA zoals

VBA-achtige operator

Like is een operator in VBA en dit is een vergelijkingsoperator die een gegeven string vergelijkt als argument in een set strings en het komt overeen met het patroon, als het patroon overeenkomt, is het verkregen resultaat waar en als het patroon niet overeenkomt, dan is het verkregen resultaat is onwaar, dit is een ingebouwde operator in VBA.

De operator "LIKE" is ondanks het geweldige gebruik de meest onderbenutte operator. Ik heb niet veel mensen gezien die deze operator volledig gebruiken bij hun codering. Ik ben zelfs een van hen die deze operator niet zo vaak gebruikt. Met de operator "VBA LIKE" kunnen we het patroon van de tekenreeks vergelijken met de volledige tekenreeks. Door de VBA LIKE-operator te gebruiken, kunnen we twee strings vergelijken met het gegeven patroon. We kunnen controleren of de string een substring bevat in VBA of we kunnen ook controleren of de string een specifiek formaat bevat. Als het patroon overeenkomt met de tekenreeks, retourneert de operator VBA LIKE TRUE of anders FALSE.

Bij het matchen van strings moeten we jokertekens gebruiken voor het patroon dat we specificeren. Hieronder staan ​​de jokertekens die we gebruiken in de VBA LIKE-operator.

  • Vraagteken (?): Dit wordt gebruikt om een ​​willekeurig teken uit de tekenreeks te matchen. Als we bijvoorbeeld een tekenreeks "CAT" hebben en het patroon is "C? T", retourneert de operator VBA LIKE WAAR. Als de tekenreeks "CATCH" is en de patronen zijn "C? T", dan retourneert de operator VBA LIKE FALSE.
  • Asterisk (*): dit komt overeen met nul of meer tekens. Als de tekenreeks bijvoorbeeld 'Goed' is en het patroon 'G ** d', geeft de operator VBA LIKE WAAR terug.
  • Haakjes ([]): dit komt overeen met elk willekeurig teken dat tussen de haakjes is opgegeven.
  • [Char-Char]: dit komt overeen met elk willekeurig teken in het bereik Char-Char.
  • [! Chars]: dit komt overeen met elk willekeurig teken dat niet in de lijst staat.
  • [! Char-Char]: dit komt overeen met elk enkel teken dat niet in het bereik Char-Char is.

Voorbeelden van VBA LIKE Operator

Laten we nu enkele voorbeelden van de VBA LIKE-operator bekijken.

U kunt deze VBA Like Excel-sjabloon hier downloaden - VBA Like Excel-sjabloon

Voorbeeld # 1 - met vraagteken

Code:

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

In de bovenstaande code hebben we de string opgegeven als "Good" en het patroon is "Go? D". Aangezien het vraagteken overeenkomt met één teken, wordt het resultaat weergegeven als "Ja".

Nu zal ik de string veranderen in "Good Morning".

Code:

 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 

In dit geval wordt "Nee" weergegeven omdat we nog een woord aan de string hebben toegevoegd, namelijk Morning. Om een ​​willekeurig aantal tekens te matchen, moeten we de asterisk gebruiken.

Voorbeeld # 2 - Met Asterisk

Code:

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

In het bovenstaande voorbeeld heb ik twee sterretjes toegevoegd voor en na het teken "* Goed *". Dit komt overeen met het woord "Goed" in de tekenreeks "Goedemorgen" en retourneert "Ja".

Voorbeeld 3 - met haakjes []

Code:

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

De bovenstaande code komt overeen met de enkele letter die tussen haakjes "M" wordt vermeld en retourneert het resultaat als Ja.

Voorbeeld 4 - met haakjes en alfabetten [AZ]

Code:

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

In het bovenstaande heb ik de karakters genoemd die overeenkomen van A tot D.

Hiermee wordt "Nee" geretourneerd omdat er geen tekens van A tot D in de tekenreeks "Goedemorgen" staan .

Nu zal ik het patroon veranderen in [AH]

Code:

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

Hiermee wordt "Ja" geretourneerd, omdat we van A tot H een teken "G" hebben in de tekenreeks "Goedemorgen"

Op deze manier kunnen we de VBA "LIKE" -operator gebruiken om elke tekenreeks uit het patroon te matchen met jokertekens.