Eu recomendaria o pré-processamento dos dados antes de importá-los para o Excel.
No entanto, criei um procedimento no VBA que faz o que você quer:
Para instalar a macro
Abra o Excel - > Alt + F11 - > Inserir - > Módulo - > cole o seguinte código - > Ctrl + S - > e selecione 'Pasta de trabalho habilitada para macro do Excel (* .xlsm)' na lista suspensa
Sub ToManyColumns()
Dim firstCellRow As Long
firstCellRow = 1 'change this if you don't want to start at A1
Dim firstCellColumn As Long
firstCellColumn = 1 'change this if you don't want to start at A1
Application.ScreenUpdating = False
ActiveSheet.Cells(firstCellRow, firstCellColumn).Activate
Dim column As Long
column = firstCellColumn
Dim startIndex As Long
Dim endIndex As Long
Dim lastRow As Long
lastRow = firstCellRow
Do While True
'find the range to copy
startIndex = ActiveCell.row
Do While ActiveCell.Value <> ""
endIndex = ActiveCell.row
ActiveCell.Offset(1).Activate
Loop
lastRow = ActiveCell.row
Range(Cells(startIndex, firstCellColumn), Cells(endIndex, firstCellColumn)).Select
Selection.Copy
Cells(firstCellRow, column).Select
Selection.PasteSpecial Paste:=xlPasteValues
'get back to last rowIndex
Cells(lastRow, firstCellColumn).Activate
ActiveCell.Offset(1).Activate
If ActiveCell.Value = "" Then Exit Do
column = column + 1
Loop
'cleanUp -------------------------------------------
Dim deleteFrom As Long
Dim deleteTo As Long
deleteTo = ActiveCell.row
ActiveSheet.Cells(firstCellRow, firstCellColumn).Activate
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1).Activate
Loop
deleteFrom = ActiveCell.row
Range(Cells(deleteFrom, firstCellColumn), Cells(deleteTo, firstCellColumn)).Select
Selection.ClearContents
ActiveSheet.Cells(firstCellRow, firstCellColumn).Activate
'cleanUp -------------------------------------------
Application.ScreenUpdating = True
End Sub
Para executar a macro:
- Verifique se você está na planilha que deseja ser! E clique em qualquer lugar na planilha! (Porque esta macro é executada na Planilha Ativada)
- Alt + F11 - > Clique em qualquer lugar no código - > pressione F5
Você também pode criar um botão na planilha e atribuir a macro a ele - é mais fácil de usar e você não precisa verificar se está na planilha certa.
Notas
Se você não quiser que a macro inicie na célula A1 (por exemplo: iniciar na coluna diferente), altere os números na terceira e na quinta linha.
Para este propósito, é melhor pré-processar os dados do que usar macros ...