У меня есть текстовый файл с гораздо большим количеством столбцов, чем разрешено в Excel, поэтому я хотел бы перенести данные в столбцы при импорте в Excel. Любые идеи о том, как я могу это сделать?
1 ответ
1
РЕДАКТИРОВАТЬ нашел лучший способ, поэтому обновил код
Вероятно, лучше всего написать макрос VBA для импорта.
Вот стартер для вас. Обратите внимание, что вам нужно будет немного подстроиться под ваши данные.
Sub ImportTranspose()
Dim fso As New FileSystemObject
Dim txtFile As TextStream
Dim col As Long
Dim dat As Variant
Dim sh As Worksheet
Set sh = ActiveSheet
Set txtFile = fso.OpenTextFile("C:\Tmp\SampleData.txt")
col = 1
Do While Not txtFile.AtEndOfStream
dat = Application.Transpose(Application.Index(Split(txtFile.ReadLine, ","), 1, 0))
sh.Cells(1, col).Resize(UBound(dat), 1) = dat
col = col + 1
Loop
CleanUp:
On Error Resume Next
txtFile.Close
Set txtFile = Nothing
Set fso = Nothing
End Sub
Заметки:
- Предполагается, что все строки в файле данных разделены запятыми
- Не включает обработку ошибок
- Помещает данные в активный лист, начиная с ячейки A1, и перезаписывает любые существующие данные
- Жестко запрограммированное имя и местоположение файла - измените, чтобы соответствовать или добавьте диалог GetFile