fbpx

La funzione Replace di VBA

DESCRIZIONE

La funzione Replace di VBA ricerca una sottostringa all’interno di una stringa e sostituisce le occorrenze della sottostringa con una seconda sottostringa.

SINTASSI
Replace( Expression, Find, Replace, [Start], [Count], [Compare] )
ARGOMENTI DELLA FUNZIONE
ExpressionLa stringa all'interno della quale desideri cercare
FindLa sottostringa che vuoi trovare (che deve essere sostituita)
ReplaceLa sottostringa con cui si desidera sostituire la sottostringa Find
[Start]Un argomento integer facoltativo, che rappresenta la posizione all'interno di Expression da cui deve iniziare la stringa restituita.

Se omesso, l'argomento [Start] assume il valore predefinito 1.
[Count]Il numero di occorrenze della sottostringa Find che si desidera sostituire.

Se omesso, l'argomento [Count] assume il valore predefinito -1, il che significa che tutte le occorrenze della sottostringa Find devono essere sostituite.
[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

' Sostituisci tutte le occorrenze del nome "Pino" con "Gino"

Dim oldStr As String
Dim newStr As String

oldStr = "Oggi è il compleanno di Pino. Buon compleanno Pino!"
newStr = Replace( oldStr, "Pino", "Gino" )

'Ora, la variabile newStr = "Oggi è il compleanno di Gino. Buon compleanno Gino!"

 

Nell’esempio precedente, la funzione Replace di VBA restituisce la stringa “Oggi è il compleanno di Gino. Buon compleanno Gino!”.

Nota che:

  • L’argomento [Start] non è stato fornito alla funzione e quindi utilizza il valore predefinito 1;
  • L’argomento [Count] non è stato fornito alla funzione e quindi utilizza il valore predefinito -1 (cioè sostituisci tutte le occorrenze della sottostringa);
  • Anche l’argomento [Compare] non è stato fornito alla funzione e quindi utilizza il valore predefinito vbBinaryCompare.

Esempio 2

' Partendo da posizione 32 dell'espressione fornita, sostituisci
' tutte le occorrenze della sottostringa "Pino" con la sottostringa "Gino".

Dim oldStr As String
Dim newStr As String

oldStr = "Oggi è il compleanno di Pino. Buon compleanno Pino!"
newStr = Replace(oldStr, "Pino", "Gino", 32)

' La variabile newStr ora è uguale a "Buon compleanno Gino!".

 

Nell’esempio precedente, la funzione Replace di VBA restituisce la stringa “Buon compleanno Gino!”.

Da notare che l’argomento [Start] fornito è uguale a 32 e quindi la stringa di testo restituita inizia dalla posizione 32 dell’espressione originale.

Esempio 3

' Sostituisci le prime 2 occorrenze della
' sottostringa "5" con la sottostringa "4".

Dim oldStr As String
Dim newStr As String

oldStr = "Abbiamo 5 arance, 5 mele e 5 banane"
newStr = Replace(oldStr, "5", "4", , 2)

' Ora, la variabile newStr è uguale a
' "Abbiamo 4 arance, 4 mele e 5 banane".

 

Nell’esempio precedente, la funzione Replace di VBA restituisce la stringa “Abbiamo 4 arance, 4 mele e 5 banane”.

Nota che:

  • L’argomento [Start] non è stato fornito alla funzione e quindi utilizza il valore predefinito 1;
  • L’argomento [Count] fornito è uguale a 2, quindi vengono sostituite solo le prime due occorrenze della sottostringa “5”.

Esempio 4

' Rimuovi tutte le occorrenze della sottostringa "5 ".

Dim oldStr As String
Dim newStr As String

oldStr = "Abbiamo 5 arance, 5 mele e 5 banane"
newStr = Replace(oldStr, "5 ", "")

' Ora, la variabile newStr = "Abbiamo arance, mele e banane".

 

Nell’esempio precedente, la funzione Replace di  VBA restituisce la stringa “Abbiamo arance, mele e banane”.

In questo esempio, la sottostringa “5” è stata sostituita con una stringa vuota “”. Ciò ha l’effetto di rimuovere semplicemente tutte le occorrenze della sottostringa “5”.

FUNZIONI VBA CORRELATE
LINK ALLA GUIDA IN LINEA DI OFFICE