Una delle funzionalità più pratiche di Excel è la funzione Testo in colonne, che consente di dividere facilmente il contenuto delle celle in singole celle in base a qualsiasi criterio specificato. Un metodo per utilizzare la funzione è consentirle di riconoscere i caratteri all’interno delle celle e utilizzare tali caratteri per attivare il punto in cui dovrebbe avvenire la divisione. Questo tipo di suddivisione viene definita divisione delimited.

Forse ti starai chiedendo come eseguire un’operazione delimitata da testo a colonne in una macro che stai scrivendo. Questo è abbastanza facile da fare usando il metodo TextToColumns su una selezione che hai impostato. Considera la seguente macro molto semplice:

Sub ExampleSplit1()

Selection.TextToColumns _       Destination:=Range("A2"), _       DataType:=xlDelimited, _       TextQualifier:=xlDoubleQuote, _       ConsecutiveDelimiter:=False, _       Tab:=True, _       Semicolon:=False, _       Comma:=False, _       Space:=False, _       Other:=True, _       OtherChar:="-"

End Sub

Notare tutte le variabili che è possibile impostare per il metodo TextToColumns.

La maggior parte di queste variabili è necessaria solo perché si tratta di una divisione delimitata; le variabili impostano ciò che viene utilizzato come delimitatore dal metodo.

A partire dalla riga di tabulazione, le variabili corrispondono direttamente alle impostazioni che si effettuerebbero nel passaggio 2 della procedura guidata Converti testo in colonne, se si stesse utilizzando manualmente la funzione. È possibile impostare Tabulazione, Punto e virgola, Virgola e Spazio su Vero o Falso, a seconda che si desideri utilizzare quel carattere come delimitatore.

È inoltre possibile impostare la variabile Other su True o False, a seconda che si desideri avere un delimitatore “definito dall’utente”. Se lo imposti su True, dovresti impostare la variabile OtherChar uguale al carattere che desideri utilizzare come delimitatore.

Se utilizzi più volte il metodo TextToColumns nella stessa macro, l’unica cosa che devi fare sulle chiamate successive alla prima è modificare le variabili che differiscono dalla chiamata precedente. Ad esempio, diciamo che stai chiamando il metodo due volte nella stessa macro, e la prima volta che vuoi che la divisione sia su un’istanza del carattere trattino, ma la seconda vuoi che sia su qualsiasi istanza di una x minuscola . Puoi mettere insieme la macro in questo modo:

Sub ExampleSplit2()

Dim objRange1 As Range     Dim objRange2 As Range

'Set up the ranges     Set objRange1 = Range("A2:A20")

Set objRange2 = Range("A21:A35")



'Do the first parse     objRange1.TextToColumns _       Destination:=Range("A2"), _       DataType:=xlDelimited, _       Tab:=False, _       Semicolon:=False, _       Comma:=False, _       Space:=False, _       Other:=True, _       OtherChar:="-"



'Do the second parse     objRange2.TextToColumns _       Destination:=Range("A21"), _       DataType:=xlDelimited, _       OtherChar:="x"

End Sub

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (2929) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: