【问题标题】:If statement formula breaking VBA loop codeIf语句公式破坏VBA循环代码
【发布时间】: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


【解决方案1】:

=IF(NW3="complete","0","1") 这个公式给你100 作为文本而不是数字。因此,将公式更改为=IF(NW3="complete",0,1),它将为您提供数字输出。然后VBA 应该可以正常工作。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多