Vba: come convertire il testo in colonne
È possibile utilizzare il metodo Range.TextToColumns in VBA per convertire una cella di testo in colonne.
Gli esempi seguenti mostrano come utilizzare questo metodo nella pratica in diversi scenari.
Esempio 1: convertire il testo in colonne (spazio come delimitatore)
Supponiamo di avere il seguente elenco di nomi nell’intervallo A1: A9 in Excel:
Possiamo creare la seguente macro per convertire il testo in ciascuna cella in colonne separate, utilizzando gli spazi come delimitatori:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota che il testo in ogni cella è stato convertito in colonne separate.
Nota : l’argomento ConsecutiveDelimiter:=True indica a VBA di considerare insieme i delimitatori consecutivi come un unico delimitatore.
Esempio 2: convertire il testo in colonne (virgola come delimitatore)
Supponiamo di avere il seguente elenco di nomi nell’intervallo A1:A9 separati da virgole:
Possiamo creare la seguente macro per convertire il testo in ciascuna cella in colonne separate, utilizzando le virgole come delimitatori:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota che il testo in ogni cella è stato convertito in colonne separate.
Esempio 3: convertire il testo in colonne (con il testo racchiuso tra virgolette doppie)
Supponiamo di avere il seguente elenco di nomi nell’intervallo A1:A9 separati da spazi e comprensivi di virgolette doppie:
Possiamo creare la seguente macro per convertire il testo in ciascuna cella in colonne separate:
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Nota che il testo in ogni cella è stato convertito in colonne separate.
Tieni presente che abbiamo utilizzato l’argomento TextQualifier:=xlDoubleQuote per indicare a VBA che il testo era racchiuso tra virgolette doppie.
Nota : puoi trovare la documentazione completa del metodo TextToColumns in VBA 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