【发布时间】:2017-02-23 23:33:43
【问题描述】:
我三周前刚开始学习 VBA,请随时批评我的代码。
我想使用 IIF 语句来执行 If 语句中的内容:
Dim rng_ModPlanStart as range
Dim QueryDate as Variant
Set rng_ModPlanStart = ThisWorkbook.ActiveSheet.Range("AH2:AH" & LastCell)
rng_ModPlanStart(1).Offset(-1, 0).Value = "Module Planned Start"
For Each cl In rng_ModPlanStart
QueryDate = Application.VLookup(ActiveSheet.Range("E" & cl.Row), Sheets("Chamber Schedule").Range("B:U"), 20, False)
If Not ((IsError(QueryDate))) Then
cl.Value = DateDiff("d", CDate(QueryDate), Date)
End If
Next cl
但我在尝试使用 IIF 时遇到错误
IIF(IsError(QueryDate), "", DateDiff("d", CDate(QueryDate), Date))
因为 VBA 认为 QueryDate 不是一个日期......它应该是由 CDate 函数,对吗?我错过了什么?
【问题讨论】:
-
变体可以是一切。你检查过它的内容吗?