簡體   English   中英

如果單元格的日期晚於今天,則運行子程序

[英]Run a subroutine if a cell's date is after today

如果單元格 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

將我的評論移至答案。


如果您正在查看特定單元格,則不需要 .find()。 如果 Range("L1").Value <= Now() 那么就足夠了。

您可能還需要檢查L1實際上是一個日期,因此您可以使用IsDate進行檢查。

第三點,不要使用 activate... 你可以只限定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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM