Funzione Sostituisci VBA - Sostituisci stringa

Questo tutorial dimostrerà come utilizzare la funzione Sostituisci VBA per sostituire le stringhe di testo.

Sostituisci funzione

La funzione VBA Replace restituisce una stringa, con le sostituzioni effettuate. Con l'utilizzo di parametri facoltativi, la nuova stringa può iniziare nella posizione specificata da start e termina alla fine della stringa originale.

VBA Sostituisci Sostituisci una sottostringa

La funzione VBA Replace può essere utilizzata per sostituire qualsiasi sottostringa trovata, in ogni parte trovata.

12345678910111213141516 Sub SostituisciEsempio_1()MsgBox Replace("ABCABCABC", "A", "!")'Il risultato è: "!BC!BC!BC"MsgBox Replace("Mi piace il rosa, il rosso e il nero", "rosa", "viola")Il risultato è: "Mi piacciono il viola, il rosso e il nero"MsgBox Replace("A, B, C, A, B, C, A, B, C", ", ", ",")'Il risultato è: "ABCABCABC"MsgBox Replace("ABCABCABC", "ABC", "!")'Il risultato è: "!!!"MsgBox Replace("ABCABCABC", "ABc", "!")'Il risultato è: "ABCABCABC"MsgBox Replace("ABCABCABC", "ZBC", "!")'Il risultato è: "ABCABCABC"Fine sottotitolo

VBA Sostituisci posizione iniziale

La funzione VBA Replace può essere utilizzata per sostituire qualsiasi sottostringa trovata, in ogni parte trovata. Se assegniamo una posizione di partenza, il risultato sarebbe la parte della stringa originale dopo quel punto di partenza.

12345678910111213 Sub SostituisciEsempio_2()MsgBox Replace("ABCABCABC", "A", "123") 'Il risultato è: "123BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 2) 'Il risultato è: "BC123BC123BC"MsgBox Replace("ABCABCABC", "A", "123", 7) 'Il risultato è: "123BC"MsgBox Replace("ABCABCABC", "A", "123", 8) 'Il risultato è: "BC"MsgBox Replace("ABCABCABC", "ABC", "!@") 'Il risultato è: "!@!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 2) 'Il risultato è: "BC!@!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 6) 'Il risultato è: "C!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 7) 'Il risultato è: "!@"MsgBox Replace("ABCABCABC", "ABC", "!@", 8) 'Il risultato è: "BC"Fine sottotitolo

VBA Sostituisci solo alcune occorrenze

La funzione VBA Replace può essere utilizzata per sostituire qualsiasi sottostringa trovata, in ogni parte trovata. Possiamo opzionalmente decidere quante occorrenze devono essere sostituite.

123456789101112 Sub ReplaceExample_3()MsgBox Replace("ABCABCABC", "A", "12") 'Il risultato è: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 1) 'Il risultato è: "12BCABCABC"MsgBox Replace("ABCABCABC", "A", "12", , 2) 'Il risultato è: "12BC12BCABC"MsgBox Replace("ABCABCABC", "A", "12", , 3) ​​'Il risultato è: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", , 5) 'Il risultato è: "12BC12BC12BC"MsgBox Replace("ABCABCABC", "A", "12", 3, 1)'Il risultato è: "C12BCABC"'Abbiamo sostituito A con 12, 1 volta a partire dalla posizione 3 della stringa originale.Fine sottotitolo

VBA Sostituisci la distinzione tra maiuscole e minuscole

La funzione di sostituzione VBA per impostazione predefinita fa distinzione tra maiuscole e minuscole. Puoi modificare questo comportamento in modo che non faccia distinzione tra maiuscole e minuscole utilizzando un parametro facoltativo (vbTextCompare). In tal caso, è necessario definire anche la posizione di partenza della ricerca.

12345678910111213 Sub ReplaceExample_4()MsgBox Replace("ABcABCABc", "ABc", "12")'Il risultato è: "12ABC12"MsgBox Replace("ABcABCABc", "ABc", "12", , , vbTextCompare)'Il risultato è: "121212"'Quando usiamo vbTextCompare dobbiamo aggiungere gli altri 2 argomenti facoltativi:'inizia e contaMsgBox Replace("ABcABCABcABc", "ABc", "12", 3, 1)'Il risultato è: "cABC12ABc"'Partito dalla posizione 3 e sostituito ABC solo 1 volta.Fine sottotitolo

Puoi anche eseguire una sostituzione senza distinzione tra maiuscole e minuscole, aggiungendo l'opzione Confronta testo nella parte superiore del modulo:

1 Opzione Confronta testo

VBA Sostituisci le virgolette doppie

La funzione VBA Replace può sostituire il carattere di virgolette doppie utilizzato per delimitare l'inizio e la fine di una stringa.

La funzione VBA Chr può restituire un carattere dal suo numero nel set di caratteri.

1 MsgBox Chr(34) 'Il risultato è: "

o

1 MsgBox Chr(64) 'Il risultato è: @

Le virgolette doppie possono essere utilizzate all'interno della funzione di sostituzione VBA utilizzando """" o la funzione VBA Chr(34).

12345678910111213 Sub ReplaceExample_5()Dim StrEx As StringStrEx = "AB""AB"""MsgBox StrEx 'Il risultato è: AB"AB"MsgBox Replace(StrEx, Chr(34), "12")"Il risultato è: AB12AB12"MsgBox Replace(StrEx, """", "DQ")'Il risultato è: "ABDQABDQ"Fine sottotitolo

VBA Sostituisci la linea di interruzione nella cella

La funzione VBA Replace può trovare il carattere speciale della linea di interruzione in una cella e rimuoverlo o sostituirlo con uno spazio. Il carattere speciale della linea di interruzione può essere inserito in una cella utilizzando la scorciatoia da tastiera Alt+Invio e può essere utilizzato nel codice VBA con il relativo numero di set di caratteri utilizzando la funzione VBA Chr(10).

1234567891011121314 Sub ReplaceExample_6()Dim StrEx As String 'Definisci una variabile stringa"Leggi il valore della cella A2 nel foglio di lavoro Foglio1"StrEx = ThisWorkbook.Worksheets("Foglio1").Intervallo("A2").Valore'Il carattere della linea di interruzione immesso con Alt+Invio è Chr(10) ed è invisibile.'Questa riga di codice sostituisce quel carattere con uno spazioStrEx = Sostituisci(StrEx, Chr(10), " ")'Scrivi il valore sostituito nella cella B2 nel foglio di lavoro Foglio1ThisWorkbook.Worksheets("Foglio1").Intervallo("B2").Valore = StrExFine sottotitolo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave