我想累積4值維度(4,1)的Excel列中的值的總和。無法累積與VBA數組元素的總和
所以,我構造了下面的代碼。對於結果一側的列中的第一行,應該保持與原始數組中相同的值。 但是,一旦它大於第一行,它應該得到結果(i-1)的前一個元素並將其添加到當前列元素(i)。
VBA告訴我下標超出範圍:/我無法弄清楚爲什麼...所以我甚至不知道我的代碼是否做我想要的。
Sub CumulativeSum()
Dim i As Integer
Dim j As Integer
Dim rColumn() As Variant
Dim result() As Variant
ReDim result(1 To 4)
rColumn = Worksheets("Sheet1").Range("E1:E4").Value2
For i = 1 To 4
result(1) = rColumn(1, 1)
For j = 2 To 3
result(j) = rColumn(j, 1) + result(j - 1)
Next j
Next i
Dim dest As Range
Set dest = Worksheets("Sheet1").Range("F1")
dest.Resize(4, 1).Value = result
End Sub
此代碼不會編譯。你遺漏了一些東西。 – RBarryYoung
除非通過使用Option Base 1或在陣列Dim vArray(1到5)的聲明中指定,否則所有數組都從索引0開始。您還需要初始化陣列,因爲它們目前沒有元素。你也錯過了「結束如果」 – Sorceri
我有一個新的代碼,並且我添加了選項庫1 .. – seigna