fbpx

La funzione InStr di VBA

DESCRIZIONE

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.

SINTASSI
InStr( [Start], String1, String2, [Compare] )
ARGOMENTI DELLA FUNZIONE
[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.
String1La stringa all'interno della quale desideri cercare
String2La sottostringa che vuoi cercare
[Compare]Un argomento facoltativo, che specifica il tipo di confronto da effettuare.
Questo può assumere uno dei seguenti valori:

  • vbUseCompareOption: ssegue un confronto utilizzando l’impostazione dell’istruzione Option Compare

  • vbBinaryCompare: esegue un confronto binario

  • vbTextCompare: esegue un confronto testuale

  • vbDatabaseCompare: solo per Microsoft Access. Esegue un confronto in base alle informazioni nel database


Se omesso, l'argomento [Compare] assume il valore predefinito vbBinaryCompare
ESEMPI DI UTILIZZO

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.

LINK ALLA GUIDA IN LINEA DI OFFICE