Нужна помощь в использовании Text to Columns & Fieldinfo для разбора столбцов с помощью VBA в Excel - PullRequest
0 голосов
/ 27 октября 2019

Согласно комментариям ниже, я редактирую свой исходный опубликованный вопрос, чтобы более точно отразить мою проблему.

Это для моей работы. В моей рабочей программе я загружаю свою таблицу данных в CSV-файл, и он автоматически открывает данные в Блокноте. Я не сохраняю файл в блокноте. (Этот процесс должен оставаться неизменным для моей работы. Сохранение данных не является необходимым и займет слишком много времени, так как мне придется делать этот один и тот же шаг сотни раз в день.)

Как только данные открываются в БлокнотеЯ копирую все данные. Затем мне нужно вставить данные непосредственно в Excel. Данные состоят из 66 различных столбцов и включают заголовки. Мне нужно разобрать столбцы так, чтобы многие из них были пропущены, в то время как большинство других вставлено как текст. В приведенном ниже массиве я подумал, что правильно изложил это, используя метод Array (1, 9), Array (4, 2), надеясь, что столбец 1 будет пропущен, а столбец 4 будет вставлен в виде текста и т. Д ...

При запуске этого кода первый столбец пропускается, но затем вставляются все последующие столбцы, не следуя настройкам массива, которые я написал в коде. Я исследовал вопросы на этом сайте и многих других. Я не могу понять, что не так с моим кодом, чтобы вызвать эту проблему.

Вот ссылка на данные, которые я использую (отредактировано для анонимности данных): https://www.dropbox.com/s/2ujbpgm3zkvserx/Test_Data_Parsing.txt?dl=0

Вот код, который я использую:

    Sub Test_PasteParsing()


        With ThisWorkbook.Sheets(1)
                Range("A1").PasteSpecial
        End With


        Columns("A:A").TextToColumns _
                    Destination:=Range("A1"), _
                    DataType:=xlDelimited, _
                    TextQualifier:=xlDoubleQuote, _
                    ConsecutiveDelimiter:=True, _
                    Tab:=True, _
                    Semicolon:=False, _
                    Comma:=False, _
                    Space:=False, _
                    Other:=False, _
                    OtherChar:=False, _
                    FieldInfo:=Array(Array(1, 9), Array(2, 9), Array(3, 4), Array(4, 2), Array(5, 9), Array(6, 9), _
                        Array(7, 9), Array(8, 2), Array(9, 9), Array(10, 9), Array(11, 2), Array(12, 9), _
                        Array(13, 2), Array(14, 9), Array(15, 9), Array(16, 2), Array(17, 9), Array(18, 9), _
                        Array(19, 9), Array(20, 9), Array(21, 9), Array(22, 9), Array(23, 9), Array(24, 9), _
                        Array(25, 9), Array(26, 9), Array(27, 9), Array(28, 2), Array(29, 2), Array(30, 2), _
                        Array(31, 2), Array(32, 9), Array(33, 9), Array(34, 9), Array(35, 9), Array(36, 9), _
                        Array(37, 9), Array(38, 2), Array(39, 9), Array(40, 2), Array(41, 9), Array(42, 9), _
                        Array(43, 9), Array(44, 9), Array(45, 9), Array(46, 9), Array(47, 9), Array(48, 9), _
                        Array(49, 9), Array(50, 9), Array(51, 2), Array(52, 2), Array(53, 2), Array(54, 2), _
                        Array(55, 9), Array(56, 9), Array(57, 2), Array(58, 9), Array(59, 2), Array(60, 9), _
                        Array(61, 9), Array(62, 2), Array(63, 9), Array(64, 9), Array(65, 2), Array(66, 2)), _
                    TrailingMinusNumbers:=True


    End Sub

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