Funzione VBA InStr

In VBA abbiamo una funzione chiamata InStr Function che viene utilizzata per restituire la posizione della prima occorrenza di una sottostringa in una stringa. Il che significa, ad esempio, che abbiamo un nome chiamato "Jhon" e dobbiamo trovare la ricorrenza della posizione dell'alfabeto H nella stringa. Questo è ciò per cui viene utilizzata la funzione.

Formula per la funzione InStr in Excel VBA

La funzione InStr VBA di Excel presenta la sintassi seguente:

Nella sintassi Start e compare sono facoltativi mentre sono richiesti i valori di stringa e sottostringa. Una stringa è una stringa in cui vogliamo trovare la nostra sottostringa e la sottostringa è il valore che è necessario trovare nella stringa. Supponiamo che se dovessimo utilizzare la sintassi sopra nel nostro esempio di Jhon sopra il codice VBA sarebbe come di seguito,

Instr ("Jhon", "H") e il risultato sarebbe 2 poiché la posizione dell'alfabeto H è 2 nella stringa.

Ora ci spostiamo verso le parti opzionali della sintassi che sono, avviare e confrontare. L'inizio è la posizione della stringa da cui vogliamo iniziare la ricerca, mentre il confronto è di tre tipi,

  1. VbUseCompareOption: (-1) Viene utilizzato per confrontare le opzioni.
  2. VbBinaryCompare: (0) Viene utilizzato per eseguire il confronto binario.
  3. VbTextCompare: (1) È usato per il confronto testuale.

Ma abbiamo bisogno di una variabile per memorizzare il valore del risultato. Poiché il valore è un numero intero, anche la variabile definita dovrebbe essere un numero intero. Ora, se abbiamo calcolato il valore, dobbiamo anche visualizzare il risultato, usiamo la funzione msgbox per visualizzare il risultato.

Come utilizzare la funzione Excel VBA InStr?

Impareremo come utilizzare una funzione VBA InStr Excel con alcuni esempi.

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

Funzione VBA InStr - Esempio n. 1

Nella spiegazione sopra ho usato la parola Jhon come stringa e volevo trovare la posizione di H nella stringa. Scriverò il codice per lo stesso in VBA e userò la funzione Instr per trovare la posizione di J nella stringa.

Seguire i passaggi seguenti per utilizzare la funzione InStr in VBA.

Passaggio 1: nella scheda Sviluppatore fare clic su Visual Basic per aprire l'editor VB.

Passaggio 2: una volta aperto il modulo, dichiarare una sotto-funzione per iniziare a scrivere il codice.

Codice:

 Sub Compare () End Sub 

Passaggio 3: ora viene dichiarata la funzione, è necessario dichiarare una variabile per memorizzare la posizione della sottostringa.

Codice:

 Sub Compare () Dim Pos As Integer End Sub 

Step 4: Ora scriviamo la funzione InStr per scoprire la posizione della nostra sottostringa.

Codice:

 Sub Compare () Dim Pos come numero intero Pos = InStr ("Jhon", "J") End Sub 

Passaggio 5: per restituire la posizione della sottostringa come valore, utilizziamo la funzione MsgBox e chiudiamo la funzione secondaria.

Codice:

 Sub Compare () Dim Pos come intero Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Passaggio 6: se eseguiamo il codice, mostra la posizione dell'alfabeto J nella stringa.

Passaggio 7: se cambiamo la sottostringa per verificare che il codice funzioni correttamente, cerchiamo di trovare l'alfabeto n nella stringa.

Codice:

 Sub Compare () Dim Pos come intero Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Passo 8: Ora se eseguiamo il codice possiamo vedere la posizione dell'alfabeto n nella stringa.

Funzione VBA InStr - Esempio n. 2

Ora abbiamo visto cosa fanno gli argomenti richiesti della funzione, ora usiamo quelli opzionali. La stringa è "Sono un bravo ragazzo ma non un buon corridore". Troveremo la sottostringa "Buono" dalla stringa ma ignoreremo il primo Bene dalla frase.

Seguire i passaggi seguenti per utilizzare la funzione InStr in VBA.

Passaggio 1: aprire l'editor VB dalla scheda degli sviluppatori facendo clic su Visual Basic.

Passaggio 2: iniziare dichiarando una sotto-funzione.

Codice:

 Sub Compare1 () End Sub 

Passaggio 3: ora dichiarare una variabile per memorizzare la posizione della sottostringa.

Codice:

 Sub Compare1 () Dim Pos1 As Integer End Sub 

Step 4: Ora useremo la funzione InStr per trovare la posizione della stringa.

Codice:

 Sub Compare1 () Dim Pos1 As Inger Pos = InStr (12, "I am a Good Boy but bot a Good Runner", "Good", vbBinaryCompare) End Sub 

Passaggio 5: ora utilizziamo la funzione Msgbox per restituire il valore della stringa.

Codice:

 Sub Compare1 () Dim Pos1 As Inger Pos = InStr (12, "I am a Good Boy but bot a Good Runner", "Good", vbBinaryCompare) MsgBox Pos End Sub Sub 

Passaggio 6: ora se eseguiamo il codice possiamo ottenere la posizione della sottostringa.

Spiegazione della funzione Instr VBA di Excel

La funzione InStr in VBA viene utilizzata per restituire la posizione del valore della sottostringa in una stringa. Cosa succede se il valore non viene trovato? Se il valore non viene trovato nella stringa, il risultato visualizzato è zero.

Una cosa che dovremmo sempre ricordare la funzione Instr è la distinzione tra maiuscole e minuscole. Per dimostrarlo, passiamo all'esempio 1 in cui abbiamo usato la funzione instr per cercare un alfabeto.

Cosa succede se la sottostringa è "N" anziché "n"? facci scoprire. Ho cambiato il caso dell'alfabeto nella stringa.

Ora se eseguo il codice otterrò il risultato come mostrato di seguito.

Ciò dimostra che la funzione instr è sensibile al maiuscolo / minuscolo.

Cose da ricordare

  • I due campi obbligatori sono String e Sottostringa.
  • La funzione Instr è sensibile al maiuscolo / minuscolo.
  • Il valore della funzione InStr è un numero intero.

Articoli consigliati

Questa è stata una guida alla funzione VBA InStr. Qui abbiamo discusso su come utilizzare la funzione InStr VBA di Excel insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. VBA VLOOKUP, funzione
  2. Funzione SWITCH di Excel
  3. Guida completa a VBA in caso di errore
  4. Usi della barra di scorrimento in Excel

Categoria: