Vba: come dividere una stringa in un array (con esempio)
È possibile utilizzare la seguente sintassi di base per dividere una stringa in un array utilizzando VBA:
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SingleValue = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
Questo particolare esempio divide ogni stringa nell’intervallo A2:A7 in base agli spazi in ciascuna stringa, quindi assegna gli elementi risultanti di ciascuna stringa agli intervalli di celle B2:B7 e C2:C7 .
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: utilizzo di VBA per dividere una stringa in un array
Supponiamo di avere il seguente elenco di stringhe in Excel:
Supponiamo di voler dividere ogni stringa in base agli spazi bianchi, quindi assegnare gli elementi risultanti di ciascuna stringa a nuove celle.
Per fare ciò possiamo creare la seguente macro:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che le colonne B e C contengono il nome e il cognome di ciascun nome completo nella colonna A.
Tieni inoltre presente che puoi utilizzare la funzione VBA Split per dividere un array in base a un delimitatore diverso.
Ad esempio, supponiamo di avere la seguente lista di posta elettronica:
Diciamo che vogliamo dividere ogni email in un array in base a dove appare il simbolo @ .
Per fare ciò possiamo creare la seguente macro:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " @ ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
La funzione Dividi divide ciascuna email nella colonna A in base al simbolo @ e visualizza gli elementi risultanti nelle colonne B e C.
Nota : qui è possibile trovare la documentazione completa per la funzione VBA Split .
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