标识VBA来计算非空白单元格

我有以下VBA公式来计算范围内的非空白单元格,以及其他范围中的一些其他条件。 计数非空白单元格的部分不起作用。 这是一段代码:

LAX(0) = Application.WorksheetFunction.CountIfs(Range("I:I"), "<>""", Range("AH:AH"), "LAX", Range("AG:AG"), ">=" & semanaI, Range("AG:AG"), "<=" & semanaF) 

前两个论点是否正确?

我通过这样做来解决它:

 LAX(0) = Application.WorksheetFunction.CountIfs(Range("I:I"), "<>" & "", Range("AH:AH"), "LAX", Range("AG:AG"), ">=" & semanaI, Range("AG:AG"), "<=" & semanaF) 

不幸的是你需要更多的处理你的条件,因为如果任何参数中的单元格是一个空单元格, CountIfs将它视为一个0值。

(REFERENCE,BRO: https ://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.worksheetfunction.countifs.aspx ? cs-save-lang =1& cs-lang = vb#code-snippet -1 )

所以,

Application.WorksheetFunction.CountIfs({range to evaluate 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