在VBA中使用带有可见单元格的CountIf

时间:2018-01-04 14:09:20

标签: excel vba excel-vba

我正在尝试在vba中对可见单元格使用CountIf函数来计算yes的所有可见单元格,有25但我收到错误

  

无法获取CountIf

WorksheetFunction属性

并突出显示returnCount,不确定myrange是否也有错误,我们非常感谢您提供任何帮助。

Set myrange = _
Range("D4",Range("D4").End(xlDown)).SpecialCells(xlCellTypeVisible)

returnCount = WorksheetFunction.CountIf(myrange, "yes")

1 个答案:

答案 0 :(得分:15)

COUNTIF不喜欢非连续或多范围范围。因此,迭代范围

中的区域
Dim myrange As Range
Dim ar As Range
Set myrange = _
Range("D4", Range("D4").End(xlDown)).SpecialCells(xlCellTypeVisible)
For Each ar In myrange.Areas
    returncount = returncount + Application.WorksheetFunction.CountIf(ar, "yes")
Next ar