Excel VBA TextToColumn Macro не работает, чтобы поместить данные в отдельные столбцы - PullRequest
0 голосов
/ 03 апреля 2019

Excel VBA TextToColumn Macro не работает, чтобы поместить данные в отдельные столбцы.После завершения упражнения "текст в столбец" данные помещаются в объявление столбца А, если я не прошел через мастер TextToColumn, разделяя и определяя столбцы соответствующим образом.

Таблица будет состоять из 164 строк и 19 столбцов.

Шаг за шагом:

  1. Разработчик |Макрос записи
  2. Получить данные | Из файла | Из текста / CSV
  3. Открыть данные на моем рабочем столе
  4. Окно .tst Открыть с данными, я нажимаю Загрузить
  5. Дата загружается в Excel.
  6. Перейдите на вкладку ДАННЫЕ и нажмите TextToColumns
  7. Выбрать фиксированный
  8. Нажмите Далее
  9. Разделите столбцы соответствующим образом
  10. Next
  11. Выбор текста для каждого столбца
  12. Next
  13. Finish
  14. TextToColumn корректен в электронной таблице 13 Но при запуске макроса он возвращает все обратно в один столбец.

Sub GetDataTextToExvel()
'
' GetDataTextToExvel Macro
'
 '       ActiveWorkbook.Queries("wrkdayerrors3").Delete
'
    ActiveWorkbook.Queries.Add Name:="wrkdayerrors3", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Table.FromColumns({Lines.FromBinary(File.Contents(""U:\Backup\Development\Macros\VBA\Fixing higlighter\wrkdayerrors3.txt""), null, null, 1252)})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    Source"
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=wrkdayerrors3;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [wrkdayerrors3]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "wrkdayerrors3"
        .Refresh BackgroundQuery:=False
    End With
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 2), Array(2, 2), Array(5, 2), Array(10, 1), Array(34, 1), _
        Array(36, 2), Array(37, 2), Array(38, 2), Array(39, 2), Array(40, 2), Array(41, 2), Array( _
        42, 1), Array(74, 2), Array(76, 1), Array(81, 2), Array(83, 2), Array(87, 1), Array(100, 2), _
        Array(105, 1), Array(111, 2), Array(117, 1), Array(127, 2), Array(133, 2), Array(147, 2), _
        Array(172, 1), Array(189, 2), Array(199, 2), Array(204, 2)), TrailingMinusNumbers:= _
        True
End Sub

Ожидается наличие 19 столбцов данных с фиксированным разделителем и 162 строк данных.Row1 в конечном итоге будет иметь новые столбцы.В настоящее время в столбце 1 после запуска макроса есть следующие столбцы: Co и lum и n1 над пустыми столбцами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...