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:

VBA converte il testo in colonne

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:

VBA converte il testo in colonne

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:

VBA converte il testo in colonne

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *