У меня есть столбец на моем листе, столбец F, который полон дат. Теперь мне нужно, чтобы эти даты были в формате «дд, мм, гггг», но иногда они бывают в текстовом виде, в американском / армянском формате в исходных данных. Почему я применяю макрос для преобразования его в правильный формат, иногда он переключает даты и месяцы, но если я делаю это вручную, такой ошибки не возникает.
Я использую значения вставки, чтобы получить данные в моем листе, и это мой код. Он показывает правильный месяц для формата дд / ммм / гггг, но переключает месяцы и дату.
Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "dd/mmm/yyyy"
Selection.TextToColumns Destination:=Range("F2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
Selection.NumberFormat = "dd/mm/yyyy"
Давайте возьмем ячейку F2, дата 9 января 2009 года в формате 01.09.2009.
Когда я делаю текст в столбцах, он оставляет дату как 01.09.2009.
Когда я повторяю текст в колонках (не внося никаких изменений), он меняет дату (не формат) на 1 сентября 2009 года.
Кто-нибудь знает, почему это происходит? Если я делаю текст в столбцы вручную, я могу повторять его весь день, оставаясь в том формате, который мне нравится.
Проблема возникает только если я повторяю макрос, я не уверен, что я делаю неправильно. Попытался изменить fieldinfo на массив (array (1,4) безрезультатно.
Надеюсь, кто-то может помочь.