У меня есть текстовый файл с гораздо большим количеством столбцов, чем разрешено в Excel, поэтому я хотел бы перенести данные в столбцы при импорте в Excel. Любые идеи о том, как я могу это сделать?

1 ответ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

Заметки:

  1. Предполагается, что все строки в файле данных разделены запятыми
  2. Не включает обработку ошибок
  3. Помещает данные в активный лист, начиная с ячейки A1, и перезаписывает любые существующие данные
  4. Жестко запрограммированное имя и местоположение файла - измените, чтобы соответствовать или добавьте диалог GetFile

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .