Come utilizzare i caratteri jolly in vba (con esempi)
È possibile utilizzare l’operatore Like in VBA con i seguenti caratteri jolly incorporati per cercare modelli specifici nelle stringhe:
- * : Corrisponde a qualsiasi numero di caratteri
- ? : corrisponde a un singolo carattere
- # : corrisponde a una singola cifra
- [] : corrisponde a qualsiasi carattere all’interno dell’intervallo
Gli esempi seguenti mostrano come utilizzare nella pratica questi caratteri jolly.
Esempio 1: utilizzare *Wildcard per cercare una sottostringa
Supponiamo di avere il seguente elenco di alimenti nella colonna A:
Possiamo creare la seguente macro per cercare la sottostringa “hot” in ogni stringa nella colonna A e visualizzare i risultati nella colonna B:
Sub FindString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *hot* " Then
Range(" B " & i) = " Contains hot "
Else
Range(" B " & i) = " Does Not Contain hot "
End If
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Esempio 2: utilizzare il carattere jolly * per cercare stringhe che terminano con un modello
Supponiamo di avere il seguente elenco di nomi di squadre di basket nella colonna A:
Possiamo creare la seguente macro per cercare le stringhe nella colonna A che terminano con “ets” e visualizzare i risultati nella colonna B:
Sub FindEndingString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *ets " Then
Range(" B " & i) = " Ends in ets "
Else
Range(" B " & i) = " Does Not End in ets "
End If
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Esempio 3: utilizzare il carattere jolly # per cercare i numeri
Supponiamo di avere il seguente elenco di stringhe nella colonna A:
Possiamo creare la seguente macro per cercare stringhe nella colonna A contenenti numeri e visualizzare i risultati nella colonna B:
SubFindNumbers ()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *#* " Then
Range(" B " & i) = " Contains Numbers "
Else
Range(" B " & i) = " Does Not Contain Numbers "
End If
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Esempio 4: utilizzare il carattere jolly [] per cercare più caratteri
Supponiamo di avere il seguente elenco di nomi di squadre di basket nella colonna A:
Possiamo creare la seguente macro per cercare nella colonna A stringhe contenenti una r, s o t da qualche parte nel nome del team e visualizzare i risultati nella colonna B:
Sub FindSpecificLetters()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *[rt]* " Then
Range(" B " & i) = " Contains r, s, or t "
Else
Range(" B " & i) = " Does Not Contain r, s or t "
End If
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota : puoi trovare la documentazione completa sui caratteri jolly VBA qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando VBA:
VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa
VBA: come contare le celle con testo specifico