使用具有变量范围的公式

时间:2015-09-29 14:30:24

标签: excel-vba excel-formula vba excel

我的列有很多行。我还有一个模块,当条件格式在列中的计算结果为true时,它会对某些单元格进行计数。

我可以使用像

这样的公式

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

我得到了正确的结果。但是,我只想检查第一行的X行数(不是全部201行)我需要为结束行添加一个变量。我使用名称管理器定义NoR = 30并将我的公式更改为

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

然而,这会返回错误。似乎变量被替换为公式,但范围是双引号,如

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

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

2 个答案:

答案 0 :(得分:4)

我个人尽可能避免间接,因为它是不稳定的 - 我怀疑你的功能需要一些计算。我建议使用INDEX:

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

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

答案 1 :(得分:2)

函数Quaternion swing; const double maxMagnitude = sin( 0.5 * toRad(30) ); const double maxMagnitudeW = sqrt(1.0 - maxMagnitude*maxMagnitude ); if(swing.vec().normSqr() > maxMagnitude*maxMagnitude) { swing.vec() = swing.vec().normalized() * maxMagnitude; swing.w() = maxMagnitudeW; } 是否期望将范围作为输入而不是字符串?如果是这样,请尝试CountCFCells,如下所示:

INDIRECT