dynamic构buildCOUNTIFS公式 – parsing语法
非常感谢过去的帮助。 我有两天的时间来完成我的项目,所以我没有时间在我身边。 我正在尝试构build一个“COUNTIF”公式。 构build这个公式被embedded到一个循环中,因为它正在对列条目进行计数(即构build小计)。 该公式检查以下内容:(1)“iCol”中每列的非空项, 也对应于(2)第5列(“vCol”)中的单词“Verification”。
当我build立这个作为一个COUNTA函数,它的工作。 不幸的是,它总结了所有的小计,这就是为什么我需要做额外的检查,并使用“COUNTIF”公式(我认为)。
那么,过去4个小时我已经排除故障了:
For groups = 1 To i ' Level 3 grouping Range(Cells(Start(groups), 1), Cells(Finish(groups), 1)).Rows.Group For iCol = 24 To 136 Set rStart = Sheet1.Cells(Start(groups), iCol) Set rEnd = Sheet1.Cells(Finish(groups), iCol) Set vStart = Sheet1.Cells(Start(groups), vCol) 'verification column Set vEnd = Sheet1.Cells(Finish(groups), vCol) 'verification column rStart.Offset(-1, 0).Formula = _ "=COUNTIFS(" & rStart.Address & ":" & rEnd.Address & ",""<>" _ & Chr(0) & "," & vStart.Address & ":" & vEnd.Address & ",""Verification"")" ' old formula worked... "=COUNTA(" & rStart.Address & ":" & rEnd.Address & ")" Next Next
我继续得到有用的“对象/应用程序错误”。 所以我觉得语法是错误的,但是对于我的生活,我看不到在哪里。 我不能将其粘贴到电子表格中进行故障排除,因为它有我在代码中设置的variables。 有没有人看到明显的东西? 我会很乐意地提出任何build议,衷心感谢!
无论何时,如果有疑问,请使用“立即”窗口来debugging您的语句。 我也是这样做的
在下面的例子中,我将硬编码rStart
(A2) , rEnd
(B2) , vStart
(C2)和vEnd
(D2)的值用于演示目的
看这个截图。
您会注意到我们缺less双引号。
现在试试这个