为什么Excel在使用Application.Evaluate时会停止宏?

时间:2016-06-16 09:01:14

标签: excel vba excel-vba

我尝试使用Application.Evaluate函数来测试条件格式条件是否为真。但是,正在发生的事情是宏只是停止 - 没有错误消息,并且引用UDF的单元格返回#VALUE。

此实例中条件公式Formula1属性的值为"=A1<>VLOOKUP($A1,actWOrders1!$A:$EF,COLUMN(A1),FALSE)"

我已尝试将Application.Evaluate替换为ActiveWorksheet.Evaluate,以防申请表格正在与上下文斗争,但同样的情况也会发生。

可能导致问题的任何想法?

谢谢! Screwtape。

2 个答案:

答案 0 :(得分:0)

如果您的宏不包含任何on error处理语句,如果在任何时候它无法执行,它肯定会向您提供错误消息。可能是您的宏完全执行但是没有达到您期望的结果。

尝试使用 F8 逐步运行它并观察每行发生的事情以找到罪魁祸首,当您单步执行时,可以将光标悬停在多个项目(如变量)上他们的价值是什么。您可能还会发现阅读this webpage将帮助您使用VBA中的工具来调试宏。

答案 1 :(得分:0)

您创建了一个循环引用。

如果您尝试将公式键入单元格,Excel将告诉您具有循环引用。

您也可以在公式栏中单步执行公式。

在公式中突出显示希望值为

的表达式

enter image description here

按[F9]计算表达式

enter image description here

表达式将替换为其值