Vba: una formula semplice per “se la cella contiene”


È possibile utilizzare la seguente sintassi di base per utilizzare una formula per “se la cella contiene” in VBA:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

Questo particolare esempio controlla se ogni cella nell’intervallo A2:A8 contiene “tartaruga”, quindi assegna “Contiene una tartaruga” o “Non contiene una tartaruga” a ciascuna cella corrispondente nell’intervallo B2:B8 .

Nota : il metodo Instr controlla se una stringa contiene un’altra stringa e il metodo LCase converte il testo in minuscolo per eseguire una ricerca senza distinzione tra maiuscole e minuscole.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: come utilizzare “Se la cella contiene” in VBA

Supponiamo di avere il seguente elenco di celle in Excel, ciascuna contenente testo diverso:

Supponiamo di voler verificare se ogni cella nell’intervallo A2:A8 contiene il testo “tartaruga” e visualizzare i risultati nelle celle corrispondenti nell’intervallo B2:B8 .

Per fare ciò possiamo creare la seguente macro:

 Sub IfContains()
    Dim i As Integer

    For i = 2 To 8
        If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
        Result = " Contains Turtle "
        Else
        Result = “ Does Not Contain TurtleEnd If
    Range(" B " & i) = Result
    Next i
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

La colonna B ci dice se le celle corrispondenti nella colonna A contengono o meno la parola “tartaruga” da qualche parte nel testo.

Nota : qui è possibile trovare la documentazione completa per il metodo VBA Instr .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa

Aggiungi un commento

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