Простые TextToColumns с FeildInfo не работает - PullRequest
1 голос
/ 10 июня 2019

Я пытаюсь использовать TextToColumns для получения поля с разделителями, отформатированного как

ММ / ДД / ГГГГ ЧЧ: ММ (Excel просто рассматривает это как текст, а не как дату - он разделяется пробелом)

до

DD / MM / YYYY

Я хочу сделать это для всего второго столбца моей таблицы, начиная со 2-й ячейки

Пока что я установил свой второй столбец как диапазон (я установил B2 на B2000, потому что я не хочу влиять на B1). Я указал, что данные разделяются пробелом, что первый столбец необходимо отформатировать как DataType 6, а второй - пропустить.

'define and set range

Dim rng As Range
Set rng = Range("B2:B2000")

'use Text To Columns

rng.TextToColumns Destination:=rng, DataType:=xIDelimited, TextQualifier:=xlTextQualifierDoubleQuote, 
Space:=True, 
FieldInfo:=Array(Array(1, 6), Array(2, 9))

Когда я запускаю код, вообще ничего не происходит. Нет ошибок, но нет результатов либо

Ответы [ 2 ]

1 голос
/ 10 июня 2019

В вашем коде есть опечатка:

У вас есть: DataType:=xIDelimited

Должно быть: DataType:=xlDelimited

0 голосов
/ 10 июня 2019

Попробуйте:

Sub dural()
    Dim rng As Range, r As Range, v As String, d As Date

    Set rng = Range("B2:B2000")
    For Each r In rng
        v = r.Text
        If InStr(1, v, "/") > 0 Then
            arr = Split(v, " ")
            brr = Split(arr(0), "/")
            d = DateSerial(brr(2), brr(0), brr(1))
            r.Clear
            r.Value = d
            r.NumberFormat = "dd/mm/yyyy"
        End If
    Next r
End Sub

перед:

enter image description here

и после:

enter image description here

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