我有一个包含混合格式日期的日期列。例如:
所以,这一列中有两种不同的格式:dd.mm.yyyy和mm/dd/yyyy。我正在尝试编写一个VBA脚本,将该列中所有日期的格式更改为yyyy-mm-dd。以下是我的代码:A
21.03.1990
03/21/1990
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
时,它可以工作,但仅适用于格式为mm/dd/yyyy
的日期,并且保留了格式为dd.mm.yyyy
的日期。我会非常感激任何建议。