Instr in Excel VBA - Macro facili di Excel

Sommario

Funzione Instr semplice | Posizione iniziale | Zero | Instr e If | Ricerca senza distinzione tra maiuscole e minuscole

Utilizzo Istruz in Excel VBA per trovare la posizione di una sottostringa in una stringa. La funzione Instr è abbastanza versatile.

Posiziona un pulsante di comando sul foglio di lavoro e aggiungi le righe di codice di seguito. Per eseguire le righe di codice, fare clic sul pulsante di comando sul foglio.

Funzione Instr semplice

Per impostazione predefinita, la funzione Instr avvia la ricerca all'inizio della stringa (posizione 1).

Codice:

Dim state As String
stato = "Virginia"
MsgBox InStr(stato, "gin")

Risultato:

Nota: la stringa "gin" trovata nella posizione 4.

Posizione di partenza

La seconda funzione Instr di seguito inizia la ricerca dalla posizione 7.

Codice:

Dim state As String
stato = "Carolina del Sud"
MsgBox InStr(stato, "o")
MsgBox InStr(7, stato, "o")

Risultato:

Spiegazione: la prima funzione Instr trova la stringa "o" nella posizione 2. La seconda funzione Instr inizia la ricerca nella posizione 7 e trova la stringa "o" nella posizione 10.

Zero

La funzione Instr restituisce 0 se la stringa non viene trovata (importante come vedremo in seguito).

Codice:

Dim state As String
stato = "Florida"
MsgBox InStr(stato, "noi")

Risultato:

Conclusione: stringa "us" non trovata.

Instr e If

Creiamo un semplice programma VBA che utilizza il Funzione Instr.

Codice:

Dim state As String, sottostringa As String
stato = Intervallo ("A2"). Valore
sottostringa = Intervallo ("B2"). Valore
Se InStr(stato, sottostringa) > 0 Allora
Intervallo ("C2"). Valore = "Trovato"
Altro
Intervallo ("C2"). Valore = "Non trovato"
Finisci se

Risultato quando si fa clic sul pulsante di comando sul foglio:

Spiegazione: stringa "outh" trovata nella posizione 2. La funzione Instr restituisce 2. Di conseguenza, Excel VBA inserisce la stringa "Trovato" nella cella C2.

Ricerca senza distinzione tra maiuscole e minuscole

Per impostazione predefinita, la funzione Instr esegue una ricerca con distinzione tra maiuscole e minuscole. Inserisci la stringa "dakota" nella cella B2 e fai clic sul pulsante di comando sul foglio.

Spiegazione: stringa "dakota" non trovata (prima lettera non in maiuscolo). La funzione Instr restituisce 0. Di conseguenza, Excel VBA inserisce la stringa "Non trovato" nella cella C2.

Per eseguire una ricerca senza distinzione tra maiuscole e minuscole, aggiorna il codice come segue:

Dim state As String, sottostringa As String
stato = Intervallo ("A2"). Valore
sottostringa = Intervallo ("B2"). Valore
Se InStr(1, stato, sottostringa, vbTextCompare) > 0 Allora
Intervallo ("C2"). Valore = "Trovato"
Altro
Intervallo ("C2"). Valore = "Non trovato"
Finisci se

Risultato quando si fa clic sul pulsante di comando sul foglio:

Spiegazione: la funzione Instr mostrata sopra ha 4 argomenti. Per eseguire una ricerca senza distinzione tra maiuscole e minuscole, specificare sempre una posizione iniziale (primo argomento) e utilizzare vbTextCompare (quarto argomento).

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave