La funzione Replace di VBA ricerca una sottostringa all’interno di una stringa e sostituisce le occorrenze della sottostringa con una seconda sottostringa.
Replace( Expression, Find, Replace, [Start], [Count], [Compare] )
Expression | La stringa all'interno della quale desideri cercare | |
Find | La sottostringa che vuoi trovare (che deve essere sostituita) | |
Replace | La 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:
Se omesso, l'argomento [Compare] assume il valore predefinito vbBinaryCompare |
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”.