如果单元格的日期在今天之后,请运行子例程

时间:2019-12-17 14:47:47

标签: excel vba runtime-error

如果单元格l1的日期已经过去,我试图运行一些vba代码。但是我收到运行时错误91。 我正在使用的代码如下,但不幸的是,尽管我无法解决,但变量却有些不正确。

Sheets("HAULAGE PLANNER").Activate
Dim FoundCell As Object

Set FoundCell = Range("L1").Find(what:=Date)

    If FoundCell = ("<= Today") Then

   Run.Module1.nextweek

    Else: Exit Sub
   End If
End Sub

1 个答案:

答案 0 :(得分:2)

将我的评论移至答案。


如果您正在查看特定的单元格,则不需要.find()。如果Range(“ L1”)。Value <= Now()然后就足够了。

您可能还需要检查L1实际上是否是日期,因此您可以使用IsDate进行检查。

第三点,不要使用激活...您只需将Sheets()限定为单元格引用即可。

通过上述更改模拟代码(未经测试)

Dim DateCell As Range
Set DateCell = Sheets("HAULAGE PLANNER").Range("L1")
If Not IsDate(DateCell.Value) Then Exit Sub
If DateCell.Value <= Now() Then Application.Run("Module1.nextweek")