在VBA中使用averageifs时出错

时间:2016-08-24 20:02:49

标签: excel vba excel-vba

我的VBA代码是这样的:

Sheets("Result").Range("E" & i) = Application.WorksheetFunction.AverageIfs( _
        Sheets("Data").Range("B:B"), _
        Sheets("Data").Range("B:B"), _
        ">=" & Sheets("Result").Range("A" & i), _
        Sheets("Data").Range("B:B"), _
        "<" & Sheets("Result").Range("B" & i), _
        Sheets("Data").Range("B:B"))

但是,显示错误消息&#34;无法获取工作表函数类的averageif属性&#34;。

但是,当我将critiria值更改为常量时,它可以正确运行:

Sheets("Result").Range("E" & i) = Application.WorksheetFunction.AverageIfs( _
         Sheets("data").Range("b:b"), _
         Sheets("data").Range("b:b"), _
         ">=" & 0.06, _
         Sheets("data").Range("b:b"), _
         "<" & 0.07)

这里的问题是什么?我该如何纠正呢?

- 我发现问题是指定范围内没有值。但是当我尝试使用iferror()函数进行调试时,它仍会显示相同的错误消息。

1 个答案:

答案 0 :(得分:0)

时会出现错误
  • 任何一个参考范围都没有数据
  • B列中没有任何数据符合条件