我想做一個數組的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