【发布时间】:2017-03-23 01:46:34
【问题描述】:
我试图从我的 VBA 语法中使用 CountIf() 函数,但我得到一个错误
参数数量错误或属性分配无效
这是我的语法 - 我需要更改什么才能成功?
Dim countofemps As Integer
Sheets("All emps").Select
Selection.AutoFilter
ActiveSheet.ListObjects("Allemps").Range.AutoFilter Field:=1, Criteria1:=filtervalue
ActiveSheet.ListObjects("Allemps").Range.AutoFilter Field:=5, _
Criteria1:=">=1/29/2017", Operator:=xlAnd, Criteria2:="<=3/1/2017"
'This line throws error
countofemps = WorksheetFunction.CountIf(Range("'All emps'!A2:A2000"), filtervalue, Range("'All emps'!B2:B2000"))
【问题讨论】:
-
Countif接受两个参数。您可能想使用SumIf。 -
但我不想对这些值求和,我只想计算有多少符合条件
-
好的,但是为什么需要第三个参数呢?
-
我需要获取 C 列中所有值的计数,其中 A 列与变量
filtervalue匹配 -
@IcyPopTarts - 这与“A 列与变量过滤器值匹配的计数”不一样吗?如果要排除 C 列中的空白,请使用
WorksheetFunction.CountIfs(Range("'All emps'!A2:A2000"), filtervalue, Range("'All emps'!C2:C2000"), "<>")。注意 countIFS,而不是 countIF。
标签: vba excel excel-2013 worksheet-function