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



并且突出显示returnCount,不确定myrange是否也有错误,我们将不胜感激。

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

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

最佳答案

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

关于vba - 在VBA中将CountIf与可见单元格配合使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48097017/

10-13 01:32