La funzione InStr di Excel VBA restituisce la posizione di una sottostringa all’interno di una stringa, come numero intero.
Se la sottostringa non viene trovata, la funzione restituisce il valore 0.
InStr( [Start], String1, String2, [Compare] )
[Start] | Un argomento intero facoltativo, che rappresenta la posizione da cui si desidera iniziare la ricerca. Se omesso, l'argomento [Start] assume il valore predefinito di 1. |
|
String1 | La stringa all'interno della quale desideri cercare | |
String2 | La sottostringa che vuoi cercare | |
[Compare] | Un argomento facoltativo, che specifica il tipo di confronto da effettuare. Questo può assumere uno dei seguenti valori:
Se omesso, l'argomento [Compare] assume il valore predefinito vbBinaryCompare |
Esempio 1
' Trova il testo "st" all'interno della stringa "Test string"
' a partire dalla posizione 1
Dim pos As Integer
pos = InStr( "Test string", "st" )
'pos ora ha il valore 3
Nell’esempio qua sopra:
- L’argomento [Start] non è stato fornito alla funzione e quindi è impostato sul valore predefinito 1;
- Anche l’argomento [Compare] non è stato fornito alla funzione e quindi è impostato sul valore predefinito vbBinaryCompare;
- Il risultato della funzione InStr (il numero intero 3) è assegnato alla variabile pos.
Esempio 2
' Trova il testo "st" all'interno della stringa "Test string"
' a partire dalla posizione 5
Dim pos As Integer
pos = InStr( 5, "Test string", "st" )
'pos ora ha il valore 6
Nell’esempio qua sopra, la ricerca inizia nella posizione 5 della stringa “Test string” e quindi la funzione trova la seconda occorrenza di “st” nella posizione 6.
Esempio 3
' Trova il testo "t" all'interno della stringa "Test string"
' a partire dalla posizione 1
Dim pos As Integer
pos = InStr( 1, "Test string", "t" )
'pos ora ha il valore 4
Nell’esempio qua sopra, la funzione InStr restituisce la posizione della prima “t” minuscola, che è la posizione numero 4.
Si noti che, poiché l’argomento [Compare] viene omesso, viene impostato sul valore predefinito vbBinaryCompare (confronto binario), che distingue tra maiuscole e minuscole.
Esempio 4
' Trova il testo "ZZ" all'interno della stringa "Test string"
' a partire dalla posizione 1
Dim pos As Integer
pos = InStr( 1, "Test string", "ZZ" )
'Il testo "ZZ" non viene trovato e quindi la funzione
'restituisce il valore 0
Nell’esempio precedente, la sottostringa “ZZ” non viene trovata e quindi la funzione InStr restituisce il valore 0.