Se você estiver em uma versão do Excel que não contenha "Obter dados externos" no menu Dados (como o Excel 2003, que é minha versão principal devido às "atualizações" anti-produtivas do Office 2007 até 2013), você pode evitar o comportamento "útil" que eles forçam em você por algumas etapas manuais ou por uma macro (uma macro é mais rápida e mais fácil, então eu a coloco no meu personal.xls):
- Adicione uma pasta de trabalho (ou Ctrl + N )
- Digite a letra A na célula
A1
- Clique na célula
A1
- Inicie “Texto para Colunas” (ou Alt + D , E )
- Escolha delimitado (ou Alt + D )
- Pressione Enter
- Desmarque todas as caixas de seleção
- Clique em Concluir (ou Alt + F )
- Feche a pasta de trabalho; não salve.
Agora, o comportamento "útil" será impedido quando você colar novamente.
no código
' Differs from Walkenbach in that he just populated A1 if empty, did this on A1, restored A1.
' This is better IFF you are allowed to add a workbook.
Sub FixAutomaticTextToColumns()
If ActiveSheet.ProtectContents Then MsgBox _
"BTW, the active sheet is protected. Consider unprotecting 'ere TextToColumns"
Workbooks.Add
Cells(1) = "A" 'Required, else TextToColumns will error
Cells(1).TextToColumns DataType:=xlDelimited, Tab:=False, semicolon:=False, _
comma:=False, Space:=False, other:=False
ActiveWorkbook.Close False
End Sub
FWIW, eu escrevi essa rotina de forma independente e, em seguida, descobri
que Guru do Excel / autor / desenvolvedor John Walkenbach
publicou algo semelhante em seu site, The Spreadsheet Page ,
intitulado Limpar o texto para os parâmetros das colunas .
Veja Como adiciono o VBA no MS Office? para obter informações gerais.