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
Questo sito utilizza cookies indispensabili per il suo funzionamento. Cliccando Accetta, autorizzi l'uso di tutti i cookies.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte Privacy.