2

非常感谢您过去的所有帮助。我有 2 天的时间来完成我的项目,所以我没有时间陪我。我正在尝试建立一个“COUNTIF”公式。构建这个公式被嵌入在一个循环中,因为它是按列计数条目(即构建小计)。该公式检查以下内容:(1)“iCol”中每一列的非空白条目对应于(2)第 5 列(“vCol”)中的单词“Verification”。

当我将其构建为 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

我继续收到有用的“对象/应用程序错误”。所以我认为语法是错误的,但对于我的生活,我看不到哪里。我无法将其取出并粘贴到电子表格中以进行故障排除,因为它具有我在代码中设置的变量。有没有人看到任何明显的东西?我会很乐意接受任何建议并衷心感谢!

4

1 回答 1

2

如有疑问,请使用立即窗口来调试您的语句。我也这样做了

在下面的示例中,出于演示目的,我对rStart (A2)rEnd (B2)vStart (C2)vEnd (D2)的值进行了硬编码

请参阅此屏幕截图。

在此处输入图像描述

您会注意到我们缺少双引号。

现在试试这个

在此处输入图像描述

于 2013-04-11T16:55:48.250 回答