2015-09-29 62 views
1

我有许多行的列。我还有一个模块,用于在条件格式在列中评估为真时对某些单元格进行计数。使用范围有变量的公式

我可以用一个公式如

=CountCFCells(A2:A201,README!$A$2)

,我得到正确的结果。但是,我只想检查第一个X行数量(并非全部为201),我需要为最后一行创建一个变量。我已经定义,也没有使用该名称经理= 30,并改变了我的公式

=CountCFCells("A2:A" & NoR,README!$A$2)

然而,这将返回一个错误。看来,变量代入公式,但幅度在双引号像

=CountCFCells("A2:A30",README!$A$2) 

我相信在我的范围内,双引号导致错误。有没有人知道这个问题的解决方案?谢谢

+0

我们可以看到更多的代码吗?在VBA中,你发布的内容甚至不是完整的一行。我的猜测是你忘了把整个公式放在引号中,并使用range.formula属性。 – puzzlepiece87

+0

asongtoruin和Rory下面的答案正确地工作。 – Britt

回答

4

我个人避免间接只要有可能,因为它是挥发性的 - 我怀疑你的函数需要一些计算。我建议索引而不是:​​

=CountCFCells(A2:INDEX(A:A,NoR),README!$A$2) 

这种结构仍然是半挥发性(它会重新计算当你第一次打开工作簿),但不是完全挥发更好。

+0

这个工程,谢谢 – Britt

2

函数CountCFCells是否期望范围作为输入而不是字符串?如果是这样,尝试INDIRECT,就像这样:

=CountCFCells(INDIRECT("A2:A" & NoR),README!$A$2) 
+0

是的,CountCFCells期望(rng作为范围,C作为范围)。这个工程,谢谢 – Britt