VBA Sostituisci stringa

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 celle 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 è necessario sostituire la parola "India" e sostituirla con "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. Un esempio di seguito è la stringa di 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 precedente (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.
  • [Count]: 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?

Puoi scaricare questo modello Excel di sostituzione stringa VBA qui - Modello Excel di sostituzione stringa 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 il nuovo valore di stringa dopo aver sostituito la parola "India" con "Bharath". Per questa variabile, aprire la funzione Sostituisci.

Il primo argomento di questa funzione è "Expression", 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 di cui 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 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 utilizzato le variabili invece di fornire direttamente i valori alla funzione.

Esempio n. 3

Supponiamo di voler sostituire la parola "India" solo dalla seconda posizione, quindi dobbiamo utilizzare il parametro della funzione Sostituisci ["Inizio"]. Guarda il codice sottostante per le tue informazioni.

Codice:

 Sub Replace_Example2 () 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, Start: = 34) MsgBox NewString End Sub 

Solo una cosa in più che abbiamo aggiunto dal codice precedente è il parametro "Start" come 34. Ora esegui il codice e guarda il risultato.

Ora possiamo vedere solo la stringa dopo il 34 ° carattere della stringa con "India" che sostituisce con "Bharath".

Esempio n. 4

Ora per un esempio, se vogliamo sostituire solo la prima occorrenza della parola "India" con "Bharath", allora dobbiamo usare il parametro ["Count"] della funzione Sostituisci.

Di seguito il codice che fa per te.

Codice:

 Sub Replace_Example3 () 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, Count: = 1) MsgBox NewString End Sub 

Eseguire il codice manualmente o tramite il tasto F5 e vedere il risultato.

Come puoi vedere sopra, ha sostituito solo la prima occorrenza della parola "India" in "Bharath" e la seconda istanza rimane la stessa.

Cose da ricordare qui

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.