Vba: come dividere una stringa in base a più delimitatori
È possibile utilizzare la seguente sintassi di base per dividere una stringa in base a più delimitatori in VBA:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
Questo particolare esempio divide ciascuna stringa nell’intervallo A2:A7 in base a trattini o spazi in ciascuna stringa, quindi assegna gli elementi risultanti di ciascuna stringa alle celle adiacenti nelle colonne B, C e D.
Nota : questa macro sostituisce innanzitutto ciascun trattino con uno spazio, quindi divide ciascuna stringa in base alla posizione degli spazi.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: dividere una stringa in base a più delimitatori in VBA
Supponiamo di avere il seguente elenco di nomi in Excel:
Supponiamo di voler dividere ciascun nome in base a trattini o spazi, quindi assegnare gli elementi risultanti di ciascuna stringa a nuove celle.
Per fare ciò possiamo creare la seguente macro:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
newString = Replace(Range(" A " & i), " - ", " ")
SingleValue = Split(newString, " ")
For j = 1 To 3
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che questa macro divide ciascuna stringa nella colonna A in base a spazi e trattini e visualizza i singoli elementi di testo di ciascuna stringa nelle colonne B, C e D.
Nota n. 1: in questo esempio stiamo dividendo le stringhe in base a trattini e spazi, ma puoi dividere le stringhe in base a qualsiasi delimitatore desideri specificandoli nelle funzioni Sostituisci e Dividi .
Nota n.2 : puoi trovare la documentazione completa per la funzione VBA Split qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando VBA:
VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa
VBA: come contare le celle con testo specifico