首页 > 解决方案 > 对范围使用大于 0 的动态公式会返回编译错误

问题描述

我希望通过 VBA 在单元格中使用动态公式(相对于单元格位置是动态的)作为我正在自动化的报告的一部分。一般的Excel公式是=CountIfs($B:$B, $O6, D:D, ">0")

所以我尝试了 Range("P6:U8").Formula = "=CountIfs($B:$B, $O6, D:D, ">0")"

但它返回一个

编译错误:语句结束。

问题在于大于 0 的部分,">0"- 当我用正常数字替换它时,一切都很好。但我希望单元格计算大于 0 的值。

我该怎么做?

标签: excelvbaexcel-formula

解决方案


我认为造成这种情况的是引号。由于您在另一个字符串中有一个字符串,因此您需要添加更多引号

简单的解决方法如下

strg = """>0"""
Range("A2:A3").Formula = "=CountIfs($G:$G, $B2, F:F, " & strg & ")"

推荐阅读