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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *