忽略日期时间单元格中的时间 Excel
Ignore Time From DateTime Cell In Excel
我正在使用 VBA 来捕获输入到单元格中的日期。我遇到的问题是,如果单元格为空,VBA 会将其读取为 12:00:00 AM,因此我在 VBA 中的 ISDATE() 函数将其视为日期,但代码自此爆炸这不是实际日期。什么 VBA 语法可以实际检查以验证单元格是否包含日期?
这是我当前的语法
Sub IsDate()
Dim d1 As Date
d1 = CDate(Range("A1").Value)
If IsEmpty(Range("A1")) = False Then
If IsDate(d1) = True Then
'Continue
End If
End If
IsEmpty(Range("A1"))
使用 Range("A1").Value <> ""
会给你不一致的结果。
不要在内置 VBA 方法后命名子例程例如 Sub IsDate()
将覆盖 VBA 方法并造成严重破坏。
Sub TestIsDate()
Dim d1 As Date
If Range("A1").Value <> "" And IsDate(Range("A1").Value) Then
d1 = CDate(Range("A1").Value)
End If
End Sub
我正在使用 VBA 来捕获输入到单元格中的日期。我遇到的问题是,如果单元格为空,VBA 会将其读取为 12:00:00 AM,因此我在 VBA 中的 ISDATE() 函数将其视为日期,但代码自此爆炸这不是实际日期。什么 VBA 语法可以实际检查以验证单元格是否包含日期?
这是我当前的语法
Sub IsDate()
Dim d1 As Date
d1 = CDate(Range("A1").Value)
If IsEmpty(Range("A1")) = False Then
If IsDate(d1) = True Then
'Continue
End If
End If
IsEmpty(Range("A1"))
使用 Range("A1").Value <> ""
会给你不一致的结果。
不要在内置 VBA 方法后命名子例程例如 Sub IsDate()
将覆盖 VBA 方法并造成严重破坏。
Sub TestIsDate()
Dim d1 As Date
If Range("A1").Value <> "" And IsDate(Range("A1").Value) Then
d1 = CDate(Range("A1").Value)
End If
End Sub