在Excel VBA中的COUNTIF函数中使用相对引用(偏移量)

时间:2016-09-21 13:06:32

标签: excel vba excel-vba

我在Excel VBA的COUNTIF函数中使用相对引用(偏移量)时遇到问题:

buildRef.Offset(i, 2) = WorksheetFunction.CountIfs _
            (range, ">=" & buildRef.Offset(i, 1))

这总是导致0,但我知道这不是正确的答案。然而,

WorksheetFunction.CountIfs (range, buildRef.Offset(i, 1))确实给出了正确答案。

任何人都可以告诉我为什么 COUNTIFS 功能在标准为"大于"时不起作用?一些相对的参考?

1 个答案:

答案 0 :(得分:1)

代码没有问题。由于您的0,您获得i.Offset(i, 1)可能不是指您认为它所指的单元格。我建议单步执行代码来检查i

的值

这是一个显示它有效的例子。我已经对i的值进行了硬编码,以证明它是如何工作的。

Sub Sample()
    Dim rng As Range, buildRef As Range

    Set rng = [A1:A10]
    Set buildRef = [D1]

    buildRef.Offset(1, 2) = WorksheetFunction.CountIfs(rng, ">=" & buildRef.Offset(1, 1))
End Sub

enter image description here