我有以下VBA公式来计算范围内的非空白单元格,以及其他范围内的其他条件。计算非空白单元格的部分不起作用。这是一段代码:
LAX(0) = Application.WorksheetFunction.CountIfs(Range("I:I"), "<>""", Range("AH:AH"), "LAX", Range("AG:AG"), ">=" & semanaI, Range("AG:AG"), "<=" & semanaF)
前两个参数是否正确?
答案 0 :(得分:2)
我解决了这个问题:
LAX(0) = Application.WorksheetFunction.CountIfs(Range("I:I"), "<>" & "", Range("AH:AH"), "LAX", Range("AG:AG"), ">=" & semanaI, Range("AG:AG"), "<=" & semanaF)
答案 1 :(得分:1)
不幸的是,您需要对条件进行更多处理,因为如果任何参数中的单元格都是空单元格, CountIfs会将其视为0值。
所以,
Application.WorksheetFunction.CountIfs({range to evaluation criteria},{criteria_1},{criteria_2},...)
这样做:
Dim rCell as Range.Cells
Dim rRange as range
Set rRange = Range("I:I")
For Each rCell in rRange
If { foo } Then
'do stuff
Elif { bar}
'do stuff
Else { derp}
'do stuff
End If
Debug.Print rCell.Address, rCell.Value
Next rCell