VBA Sostituisci stringa - Come sostituire il testo in una stringa usando VBA?

Stringa di sostituzione VBA di Excel

Sostituisci è sia la funzione del foglio di lavoro che la funzione VBA. Questa funzione ci aiuta a sostituire la parola particolare della stringa con un'altra stringa. Funziona in modo simile alla funzione sostitutiva in VBA.

Mentre si ha a che fare con la stringa di prova oi valori dei dati di testo, è ovvio sostituire o sostituire qualcosa con qualcos'altro, unendo due dati di cella in uno o suddividendo i dati di una cella in più cose. Queste sono tutte attività comuni che svolgiamo giorno dopo giorno sul nostro posto di lavoro.

Allora, come sostituiamo una parola nella stringa con un'altra parola? Ad esempio, se la stringa è "L'India è un paese in via di sviluppo e l'India nel paese asiatico" da questa stringa, dobbiamo sostituire la parola "India" e cambiarla in "Bharath".

Ciò è possibile utilizzando la funzione Sostituisci. In questo articolo, ti mostreremo come sostituire le stringhe nella codifica VBA.

Sostituisci funzione

  • Espressione: questo non è altro che il valore di stringa originale da cui stiamo cercando di sostituire qualcosa con qualcosa. Ad esempio, di seguito è riportata la stringa dell'espressione: "L'India è un paese in via di sviluppo e l'India nel paese asiatico".
  • Trova stringa: qual è la stringa che stiamo cercando di sostituire. Ad esempio, nella stringa Expression , stiamo cercando di sostituire la parola "India".
  • Sostituisci stringa: qual è la stringa sostitutiva con cui sostituiamo la stringa Trova ? Quindi, in questo caso, stiamo cercando di sostituire la parola "India" con "Bharath".
  • (Inizio): questo è un parametro opzionale. Nella stringa sopra (Espressione), abbiamo due parole, "India", quindi da quale posizione della stringa di ricerca, dobbiamo iniziare il processo di sostituzione. Ad esempio, se diciamo 2, inizierà a sostituire la parola "India" dalla seconda posizione in poi.
  • (Conteggio): se la stringa di ricerca viene visualizzata più volte in Expression, quante parole dobbiamo sostituire.

Ad esempio, se la parola "India" appare 5 volte e se fornisci il conteggio come 3, sostituirà solo le prime 3 parole "India".

Come sostituire il testo in una stringa usando VBA?

Esempio 1

Ora proveremo a sostituire la parola "India" con "Bharath" dal valore di stringa sottostante.

"L'India è un paese in via di sviluppo e l'India nel paese asiatico".

Innanzitutto, avvia ora la procedura macro di Excel.

Codice:

Sub Replace_Example () End Sub

Definisci la variabile VBA come String.

Codice:

Sub Replace_Example () Dim NewString As String End Sub

In questa variabile, mostreremo un nuovo valore di stringa dopo aver sostituito la parola "India" con "Bharath". Per questa variabile, apri la funzione Sostituisci.

Il primo argomento di questa funzione è "Espressione", ovvero da quale stringa stiamo cercando di sostituire una parola, quindi copia e incolla la stringa "L'India è un paese in via di sviluppo e l'India nel paese asiatico".

L'argomento successivo è "Trova stringa", ovvero quale parola dobbiamo sostituire, ovvero "India".

L'argomento successivo è "Sostituisci stringa", ovvero con quale stringa dobbiamo sostituire la parola "India", ovvero "Bharath".

Ok, per ora, ignora gli argomenti rimanenti. Ora mostra il risultato nella finestra del messaggio.

Codice:

Sub Replace_Example () Dim NewString As String NewString = Replace ("L'India è un paese in via di sviluppo e l'India è il paese asiatico", "India", "Bharath") MsgBox NewString End Sub

Eseguiamo il codice usando il tasto F5 o manualmente e vediamo il nuovo risultato della stringa.

Ok, guarda il risultato sopra. Ovunque abbiamo avuto la parola "India", è stata sostituita con la parola "Bharath".

Esempio n. 2

Ora vedremo come utilizzare lo stesso codice con le variabili. Guarda il codice sottostante.

Codice:

Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "L'India è un paese in via di sviluppo e l'India è il paese asiatico" FindString = "India" ReplaceString = "Bharath" NewString = Sostituisci (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Nel codice sopra, ho dichiarato altre tre variabili.

Dim MyString As String Dim FindString As String Dim ReplaceString As String

Per queste variabili ho assegnato dei valori. Invece di fornire la stringa di espressione, la stringa di ricerca e la stringa di sostituzione, forniremo solo la variabile alla funzione di sostituzione.

Anche questo codice fornisce lo stesso risultato, ma l'unica differenza è che abbiamo usato variabili invece di fornire direttamente valori alla funzione.

Esempio n. 3

Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.

Code:

Sub Replace_Example2() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4

Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“Count”) parameter of the Replace function.

Below is the code for you.

Code:

Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub

Run the code manually or through the F5 key and see the result.

As you can see above, it has replaced only the first occurrence of the word “India” to “Bharath,” and the second instance remains the same.

Things to Remember Here

  • Sostituisci è una famiglia di funzioni stringa in VBA.
  • In VBA, la funzione di sostituzione sostituisce tutte le parole fornite con una stringa sostituita se il parametro di conteggio non è specificato.
  • Il parametro start cancellerà il numero di caratteri forniti e mostrerà il risultato rimanente.

Articoli interessanti...