VBA - 如何使用SUMIFS从数组返回单个值?

时间:2016-11-25 13:57:50

标签: arrays vba sumifs

我试图编写一些代码,但遇到了一个意想不到的问题,并希望有人可以提供帮助。

基本上我有一组数据(约150k行)并使用VBA将它们读入数组。现在我想在这个数组上应用一个SUMIFS函数,但是我继续得到一个返回的数组而不是一个值。我使用了以下内容:

With Application
    OutputArray(1, 1) = .SumIfs(.Index(MyArray, 0, 1), .Index(MyArray, 0, 2), ">0")
End With

现在,我可以用这种方式使用.Sum并获得单个值。当直接在工作表上应用与VBA中使用的完全相同的.SumIfs函数时,我也得到一个值,但在VBA代码中,我得到的是一个类型为Error的数组。

总和范围都是Double类型。输出数组是Variant。

如果我遗漏了任何其他信息,请告知我们。

1 个答案:

答案 0 :(得分:0)

您可以上传您尝试应用Sumifs的数据样本吗?你是否先用Redim定义了Outputarray的大小?...你试过包装.Sumifs(....带.Sum吗?