Jeśli korzystasz z wersji programu Excel, która nie zawiera opcji „Pobierz dane zewnętrzne” w menu Dane (takiej jak Excel 2003, która jest moją podstawową wersją ze względu na antyproduktywne „uaktualnienia” pakietu Office 2007 do 2013), możesz zapobiec „pomocne” zachowanie, które narzucają ci albo przez kilka ręcznych kroków, albo przez makro (makro jest szybsze i łatwiejsze, więc umieszczam je w pliku personal.xls):
- Dodaj skoroszyt (lub Ctrl+ N)
- Wpisz literę Aw komórce
A1
- Kliknij komórkę
A1
- Uruchom „Tekst do kolumn” (lub Alt+ D, E)
- Wybierz rozdzielany (lub Alt+ D)
- Trafienie Enter
- Odznacz każde pole wyboru
- Kliknij przycisk Zakończ (lub Alt+ F)
- Zamknij skoroszyt; nie zapisuj.
Teraz „pomocne” zachowanie zostanie uniemożliwione po ponownym wklejeniu.
W kodzie,
' 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, napisałem tę procedurę niezależnie, a potem odkryłem, że guru / autor / programista Excela John Walkenbach
opublikował coś podobnego na swojej stronie internetowej, Arkusz kalkulacyjny , zatytułowany Czyszczenie parametrów tekstu do kolumn .
Zobacz Jak dodać VBA w MS Office? dla ogólnych informacji.