【发布时间】:2019-07-05 19:28:38
【问题描述】:
我有一个电子表格来跟踪通过研讨会的工作,在单独的工作表上我有一个只显示实时工作的宏。为了确定要显示的作业,在主工作表上我使用了如下 if 语句公式:
=IF(NW3="complete","0","1")
因此,如果作业被列为已完成,它将显示0
然后我编写了 VBA 代码,该代码将检测正确列中的每一行是否包含 1,如果是,它将将该行复制并粘贴到实时工作表中。但是 VBA 循环代码无法识别 IF 语句生成的数字。
我知道我的代码有效,因为如果我在列中手动键入 1 或 0 而不是使用上面的 IF 公式,VBA 代码会找到所有结果。我还做了一个随机的 =SUM 语句,将一个单元格自己除以 1,然后运行宏,它再次起作用。所以它只是它不喜欢的 IF 语句结果。
我被难住了,请帮忙!
【问题讨论】:
-
您是否注意到
=IF(NW3="complete","0","1")将数字作为字符串输入,但=IF(NW3="complete",0,1)是实数。 • 如果这不能解决您的问题edit 请添加您的代码。对于我们看不到的代码,我们无法提供帮助。
标签: excel vba if-statement excel-formula