Изменение формата даты на гггг-мм-дд

У меня есть столбец даты, который содержит даты в смешанном формате. Например:

A
21.03.1990
21.03.1990

Итак, по сути, в одном столбце есть два разных формата: дд.мм.гггг и мм / дд / гггг . Я пытаюсь написать сценарий VBA, чтобы изменить формат всех дат в столбце на гггг-мм-дд . Вот что у меня есть на данный момент:

Sub changeFormat()

Dim rLastCell As Range
Dim cell As Range, i As Long
Dim LValue As String

i = 1

With ActiveWorkbook.Worksheets("Sheet1")
    Set rLastCell = .Range("A65536").End(xlUp)
    On Error Resume Next
    For Each cell In .Range("A1:A" & rLastCell.Row)
        LValue = Format(cell.Value, "yyyy-mm-dd")
        .Range("B" & i).Value = LValue
        i = i + 1
    Next cell
    On Error GoTo 0
End With

End Sub

Я знаю, что это не изящный фрагмент кода, но я новичок в VBA, поэтому, пожалуйста, простите меня. Проблема с этим кодом заключается в том, что он просто перезаписывает неизмененный столбец A в столбец B, когда я меняю аргумент в функции Format с yyyy-mm-dd на dd / mm / yyyy , он работает , но только для дат в формате мм / дд / гггг и оставляет дд.мм.гггг нетронутым. Буду признателен за любой совет.

6
задан pnuts 23 January 2015 в 03:53
поделиться