我正在尝试使用
格式化日期 Dim dt As Range
For Each dt In Range("A1:A1000")
dt.NumberFormat = "m/d/yyyy"
Next dt
某些日期不变
但是当我单击两次日期时,将收到格式, 有时它也会与值一起发生,这是怎么回事?
答案 0 :(得分:0)
请针对您的数据进行测试。
Sub test()
Dim dt As Range
For Each dt In Range("A1:A1000")
If Application.WorksheetFunction.IsText(dt) Then
dt.Value = Val(dt.Value)
End If
dt.NumberFormat = "m/d/yyyy"
Next dt
End Sub
答案 1 :(得分:0)
您不需要在此处循环除非,您只需要有条件地更新格式
dt
)dt
转换为值(仅适用于显示的字符串
作为数字) dt
(所有单元一次,不循环) Sub All_At_Once()
Dim dt As Range: Set dt = Range("A1:A1000")
dt.Value = dt.Value
dt.NumberFormat = "m/d/yyyy"
End Sub