У меня есть столбец даты, который содержит даты в смешанном формате. Например:
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
, он работает , но только для дат в формате мм / дд / гггг
и оставляет дд.мм.гггг
нетронутым. Буду признателен за любой совет.