VBA TextToColumns - формат даты - PullRequest
       38

VBA TextToColumns - формат даты

0 голосов
/ 23 октября 2019

У меня проблема с макросом TextToColumns: у меня есть два формата даты, один с 01:00 в конце и другой с 03:00 в конце, например:

14/10/201903: 00

08/06/2019 01: 00

Когда я запускаю макрос:

    Worksheet.Columns("A:A").TextToColumns Destination:=Worksheet.Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=True, Space:=False, Other:=False, DecimalSeparator:="."

У меня есть результаты: results

Мне нужно иметь все данные в формате, подобном нижнему, но я не могу сделать это, например, по номеру -> формат -> пользовательский.

Я был бы очень признателен, если у вас есть какие-либо идеи, что не такс моим макросом?

Спасибо!

1 Ответ

0 голосов
/ 29 октября 2019

В настоящее время у вас установлено разделение на запятые вместо пробелов, что объясняет, почему ничего не разделяется.

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

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

With Sheets("Sheet1")
    .Columns("B").NumberFormat = "General"
    .Columns("C:E").Insert Shift:=xlToRight
    .Columns("A").TextToColumns Destination:=.Columns("B"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, DecimalSeparator:="."
    .Columns("C:E").Delete
End With

Если вам нужна помощь или дальнейшие объяснения, просто оставьте комментарий, и я перезвоню вам.

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