VBA Like

VBA Like Operator

Like è un operatore in VBA e questo è un operatore di confronto che confronta una data stringa come argomento in un insieme di stringhe e corrisponde al modello, se il modello corrisponde, il risultato ottenuto è vero e se il modello non corrisponde allora il il risultato ottenuto è falso, questo è un operatore integrato in VBA.

L'operatore "LIKE" è l'operatore più sottoutilizzato nonostante il suo ottimo utilizzo. Non ho visto molte persone che usano questo operatore fino in fondo nella loro codifica, infatti, io sono uno di loro che non usa questo operatore abbastanza spesso. L'operatore "VBA LIKE" ci consente di far corrispondere il modello della stringa con l'intera stringa. Utilizzando l'operatore VBA LIKE possiamo confrontare due stringhe con lo schema dato. Possiamo controllare se la stringa contiene una sottostringa in VBA o possiamo anche se la stringa contiene un formato specifico. Se il pattern corrisponde alla stringa, l'operatore VBA LIKE restituisce TRUE oppure FALSE.

Durante la corrispondenza delle stringhe, dobbiamo usare caratteri jolly per il pattern che specifichiamo. Di seguito sono riportati i caratteri jolly che utilizziamo nell'operatore VBA LIKE.

  • Punto interrogativo (?): Utilizzato per trovare la corrispondenza con un carattere qualsiasi della stringa. Ad esempio, se abbiamo una stringa "CAT" e il modello è "C? T", l'operatore VBA LIKE restituisce TRUE. Se la stringa è "CATCH e i modelli sono" C? T ", l'operatore VBA LIKE restituisce FALSE.
  • Asterisco (*): corrisponde a zero o più caratteri. Ad esempio, se la stringa è "Good" e il modello è "G ** d", l'operatore VBA LIKE restituisce TRUE.
  • Parentesi ([]): corrisponde a un singolo carattere specificato tra parentesi.
  • [Char-Char]: corrisponde a qualsiasi singolo carattere nell'intervallo Char-Char.
  • [! Chars]: corrisponde a qualsiasi carattere singolo non presente nell'elenco.
  • [! Char-Char]: corrisponde a qualsiasi singolo carattere non compreso nell'intervallo Char-Char.

Esempi di operatore VBA LIKE

Vediamo ora alcuni degli esempi di operatore VBA LIKE.

Puoi scaricare questo modello VBA come Excel qui - Modello VBA come Excel

Esempio # 1 - Con punto interrogativo

Codice:

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

Nel codice sopra, abbiamo fornito la stringa come "Good" e il pattern è "Go? D". Poiché il punto interrogativo può corrispondere a un singolo carattere, il risultato verrà visualizzato come "Sì".

Ora cambierò la stringa in "Good Morning".

Codice:

 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 questo caso, verrà visualizzato "No" perché abbiamo aggiunto una parola in più alla stringa, ovvero Mattina. Per trovare un numero qualsiasi di caratteri dobbiamo utilizzare l'asterisco.

Esempio # 2 - Con Asterisk

Codice:

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

Nell'esempio sopra, ho aggiunto due asterischi prima e dopo il carattere "* Buono *". Ciò corrisponderà alla parola "Buono" nella stringa "Buongiorno" e restituirà "Sì".

Esempio n. 3 - Con parentesi []

Codice:

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

Il codice sopra corrisponde alla singola lettera menzionata nella parentesi "M" e restituisce il risultato come Sì.

Esempio n. 4 - Con parentesi graffe e alfabeti [AZ]

Codice:

 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 precedenza, ho menzionato i caratteri da abbinare da A a D.

Questo restituirà "No" perché non ci sono caratteri da A a D nella stringa "Good Morning" .

Ora cambierò lo schema in [AH]

Codice:

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

Questo restituirà "Sì" perché dalla A alla H abbiamo un carattere "G" nella stringa "Buongiorno"

In questo modo, possiamo utilizzare l'operatore VBA "LIKE" per abbinare qualsiasi stringa del modello con caratteri jolly.