Funzione Instr

Restituisce la posizione della prima occorrenza di una stringa all'interno di un'altra stringa.

Sintassi

InStr([start, ]string1, string2[, compare])

Argomenti:

  • Start: facoltativo. Espressione numerica che imposta la posizione iniziale per ogni ricerca. Se l'argomento viene omesso, la ricerca inizia in corrispondenza della posizione del primo carattere. Se l'argomento start contiene un valore Null, si verifica un errore. L'argomento start è obbligatorio se viene specificato l'argomento compare.
  • string1: obbligatorio. Espressione stringa in cui eseguire la ricerca.
  • string2: obbligatorio. Espressione stringa da cercare.
  • Compare: facoltativo. Valore numerico che indica il tipo di confronto da utilizzare per la valutazione delle sottostringhe. Per i valori, vedere la sezione Impostazioni. Se l'argomento viene omesso, viene eseguito un confronto binario.
  • Impostazioni: l'argomento compare può avere i seguenti valori.

    Tabella 11-15 Costanti di confronto e descrizioni

    Costante Valore Descrizione
    vbBinaryCompare 0 Esegue un confronto binario
    vbTextCompare 1 Esegue un confronto testuale

Valore restituito

La funzione InStr restituisce i valori seguenti:

Tabella 11-16 Valori restituiti dalla funzione Instr

Se La funzione InStr restituisce
string1 è di lunghezza zero 0
string2 è di lunghezza zero Inizio
string2 non trovato 0
string2 viene trovato all'interno di string1 Posizione in cui viene trovata la corrispondenza.
start > Len(string2) 0

Note

Negli esempi seguenti viene utilizzata la funzione InStr per eseguire una ricerca in una stringa.

Esempio 1

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.  
SearchChar = "P"   ' Search for "P".
MyPos = Instr(SearchString, SearchChar)   ' Comparison is binary by default (last argument is omitted). 
' Output: 9

Esempio 2

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, SearchChar)   
' Comparison is binary by default (last argument is omitted)
' Default Comparison starting at the first character
' Output: 9    

Esempio 3

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1)   ' A textual comparison starting at position 4.
'Output: 6
MyPos = Instr(1, SearchString, SearchChar, 0)   ' A binary comparison starting at position 1. 
'Output: 9

Esempio 4

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"   ' String to search in.
SearchChar = "P"   ' Search for "P".
MyPos = Instr(1, SearchString, "W")   ' A binary comparison starting at position 1.
'Output: 0 ("W" is not found).