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

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

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

这总是结果为0,但我知道这不是正确的答案。 然而,

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

任何人都可以告诉我为什么COUNTIFS函数不符合标准是“大于”一些相对的参考?

代码没有问题。 你因为你而得到0.Offset(i, 1)可能不是指您所指的单元格。 我会build议通过代码来检查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 

在这里输入图像说明