Mal*_*lin 8 excel vba date excel-vba is-empty
如果感觉这应该是非常容易的,但是如果不再检索单元格的值,我就不能让它工作.
首先,我有2个日期单元格:
Dim agreedDate As Date
Dim completedDate As Date
Run Code Online (Sandbox Code Playgroud)
这个工作..(但看起来很乱)
agreedDate = Worksheets("Data").Cells(Counter, 7).Value
completedDate = Worksheets("Data").Cells(Counter, 9).Value
If (IsEmpty(Worksheets("Data").Cells(Counter, 7).Value) = True) Or (IsEmpty(Worksheets("Data").Cells(Counter, 9).Value) = True) Then
[.. do stuff]
End If
Run Code Online (Sandbox Code Playgroud)
这不起作用 - 为什么不呢?!
agreedDate = Worksheets("Data").Cells(Counter, 7).Value
completedDate = Worksheets("Data").Cells(Counter, 9).Value
If (IsEmpty(agreedDate) = True) Or IsEmpty(completedDate) = True) Then
[.. do stuff]
End If
Run Code Online (Sandbox Code Playgroud)
有没有办法以干净简单的方式编写if语句?
由于只有Variant类型的变量可以为Empty,因此需要对Date类型进行不同的测试.
检查零:
If agreedDate = 0 Or completedDate = 0 Then
Run Code Online (Sandbox Code Playgroud)
但更安全的方法是将变量更改为Variant类型,然后执行此测试:
If IsDate(agreedDate) = False Or IsDate(completedDate) = False Then
Run Code Online (Sandbox Code Playgroud)