excel - 如果单元格的日期在今天之后,则运行子例程
问题描述
如果单元格 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() Then 就足够了。
您可能还需要检查这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")
推荐阅读
- reactjs - 在 React 外部构造函数中创建动态引用
- sql-server - sql server 位置的更改导致事件 1026 .Net 运行时
- couchbase - 由于以下 n1ql 错误,无法执行查询
- global-variables - 离子全局变量使用
- html - 在子项中放置更多列并通过子项中的复选框删除行数据表
- asp.net-identity - 将 Blazor WebAssembly 中的授权角色和策略与身份一起使用?
- html - 如何在Angular中使用ngModel将复选框附加到列表的每个项目?
- java - 中心裁剪在gridlayoutmaneger Android中不起作用
- java - AbstractApplicationContext(Spring)下refresh()方法的用途是什么?为什么使用 refresh() 后 bean 单例范围丢失?
- mysql - MYSQL查询检查ID是否存在并将列行值复制到另一个表相关的列名