我无法更改为日期格式。我有包含不同日期的单元格,但并非所有日期都格式化为日期。其中之一是“yy-mm-dd”,例如“13-04-08”,但它的格式为General。我正在使用这段代码:
xCell = Format(xCell, "yyyy-mm-dd")
问题是excel无法判断“13”还是“08”是“yyyy”,所以它不会改变任何东西。我该如何解决这个问题?在更改日期之前,我是否需要告诉 excel 哪些数字是年份,我该怎么做?它可以包含在 Format 方法中吗?
编辑: 我认为我需要解释整个事情,因为问题似乎出在其他地方。包含日期的单元格从一开始就如下所示,格式为 General:
13-05-06 A
13-05-21 A
...
我使用以下代码删除了不需要的“A”:
Sub rensa()
Dim Found As Range
For Each xCell In Range("D2:D999")
If IsEmpty(xCell.Value) Then Exit For
Set Found = xCell.Find(What:="A", LookIn:=xlValues, LookAt:=xlPart)
If Found Is Nothing Then
Else
xCell.Value = Left(xCell.Value, Len(xCell.Value) - 1)
End If
Next xCell
End Sub
我已尝试使用这些代码将单元格格式设置为最新:
Range("D2:D999").NumberFormat = "yyyy-mm-dd"
Range("D2:D999").NumberFormat = "m/d/yyyy"
我也尝试在 For 循环中实现它们,如下所示:
Sub rensa()
Dim Found As Range
For Each xCell In Range("D2:D999")
If IsEmpty(xCell.Value) Then Exit For
Set Found = xCell.Find(What:="A", LookIn:=xlValues, LookAt:=xlPart)
If Found Is Nothing Then
xCell.NumberFormat = "yyyy-mm-dd"
Else
xCell.Value = Left(xCell.Value, Len(xCell.Value) - 1)
xCell.NumberFormat = "yyyy-mm-dd"
End If
Next xCell
End Sub
但这也没有按我的意愿工作。一切都使结果看起来像这样,仍然格式化为 General:
13-05-06
13-05-21
...
所以 A 消失了,但没有其他变化。