Vba: come verificare se una stringa contiene un'altra stringa


È possibile utilizzare la funzione Instr() in VBA per verificare se una stringa contiene un’altra stringa.

Questa funzione utilizza la seguente sintassi di base:

Instr(inizio, stringa1, stringa2, …)

Oro:

  • start : la posizione iniziale della ricerca
  • string1 : la stringa da cercare
  • string2 : la stringa che stai cercando

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

Esempio: utilizzare VBA per verificare se la stringa contiene un’altra stringa

Supponiamo di avere il seguente set di dati in Excel che contiene informazioni su varie squadre di basket:

Ora supponiamo di voler verificare se ogni stringa nella colonna Team contiene “avs” da qualche parte nella stringa.

Possiamo utilizzare la seguente sintassi in VBA per verificare se ogni stringa nella colonna Team contiene “avs” e, in tal caso, restituire l’intera riga nelle colonne D ed E:

 Sub StringContains()
Dim i As Integer , i_num As Integer

For i = 2 To 9
    If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then
        i_num = i_num + 1
        Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value
    End If
Next i
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

Tieni presente che ciascuna riga contenente la stringa “avs” da qualche parte nella colonna Team viene restituita nelle colonne D ed E.

In questo esempio, solo due squadre (Mavs e Cavs) contenevano “avs” nella colonna Team.

Per cercare una stringa diversa, sostituisci semplicemente “avs” nel codice sopra con la stringa di tua scelta.

Nota n. 1: nel codice abbiamo utilizzato For i = da 2 a 9 poiché le celle da A2 ad A9 contenevano le stringhe a cui eravamo interessati. Sentiti libero di modificare questo intervallo in base all’intervallo di celle che stai cercando.

Nota n.2 : puoi trovare la documentazione completa della funzione Instr() in 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 contare il numero di righe nell’intervallo
VBA: come calcolare il valore medio dell’intervallo

Aggiungi un commento

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