在Excel使用在COUNTIF函数的相对参考(偏移)VBA

问题描述:

我使用在Excel VBA一个COUNTIF函数的相对参考(偏移)具有问题:在Excel使用在COUNTIF函数的相对参考(偏移)VBA

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

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

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

谁能告诉我为什么COUNTIFS功能不起作用,当标准是“大于”一些相对参考?

+0

尝试更换'buildRef.Offset(I,1)''与buildRef.Offset(I,1))。value' –

+0

什么buildRef'和'地址范围'范围'? – Slai

+0

添加.value仍然没有给我正确的答案。 –

代码没有问题。由于您的i,您得到0.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

+0

我检查了偏移量(i,1)的值。他们是正确的。 –

+0

我刚给你看看它的工作原理。我可以看看你的excel文件吗?如果是,请将其上传到免费的文件共享网站并在此分享链接。此外,如果文件和机密日期,然后将其替换为虚拟数据 –

+0

对不起,但我不能allower共享工作文件。 –