我想做一个数组的sumif,但我不知道如何引用数组中的全列。例如我已经在Excel以下数据(在列A和B),并且工作正常代码,Excel中数组的SUMIF VBA
RR TT 1 J 2 K 3 J 4 K 5 J 5 K 6 J 7 K 8 J 9 K
Sub test()
Dim s As Range
Dim s2 As Range
Set s = Range("A2:A11")
Set s2 = Range("B2:B11")
e = WorksheetFunction.SumIfs(s, s2, "J")
MsgBox e
End Sub
此求和RR的列,其中TT列等于“J”和答案是23.但在代码中,我将每列分配给VBA中的一个单独的范围。我想将两列分配给一个数组,并从数组中进行sumifs。代码的第一部分然后看起来如下,
Dim s() As Variant
ReDim s(1 To 10, 1 To 2)
s = Range("A2:B11")
然后我如何在sumifs函数中引用数组的列? (在SUMIFS函数的前两条)
e = WorksheetFunction.SumIfs(?, ?, "J")
我将在一个更大的数据集结束工作,如果可能的话我想不会创建一个单独的吨范围,但只是一个数组。
您不能 - SUMIF(S)不能与数组一起使用,只能使用范围。 – Rory 2015-02-23 13:28:00
@Rory写道,你不能。您需要编写自己的循环数组。 – 2015-02-23 13:47:26
为什么你想要使用数组呢? – Rory 2015-02-23 14:07:42