我正在尝试从单个宏运行多个报告。
我有一个表单中的组合框。它有两个选项:过期了,很快就要过期了。
过期的宏查找小于今天的日期。
我期待着使'即将到期'宏找到的日期是在45天内从今天开始。
我在循环的开头有这样一行,表示过期日期:
For Each cell In Arr
If cell < Now And cell <> "" Then
我所尝试的是用变量替换条件,并使用开关情况根据组合框中的值更改变量。
condition = "cell < Now And cell <> """
For Each cell In Arr
If condition Then
然而,它出错了。这应该是我唯一需要改变的事情来做我需要做的事情。
我也试过:
condition = "cell < Now And cell <> """
For Each cell In Arr
If Application.Evaluate(condition) Then
1条答案
按热度按时间mo49yndu1#
你不能这么做
condition
是一个字符串。If语句只是检查变量的内容,但JavaScript运行时无法将变量的内容解释为 code 并执行代码。Application.Evaluate(condition)
也不是一个选项:Evaluate
将由Excel执行,而不是Excel。Excel对cell
之类的非线性变量一无所知。我想你把任务搞得太复杂了。只需使用嵌套的
If
或类似的东西。例如,你可以创建一个小函数:在你的主代码中,写