我正在尝试在 4 值维度 (4,1) 的 excel 列中累积值的总和。
所以,我构造了下面的代码。对于 Result 侧列中的第一行,它应该与原始数组中的值相同。但是,一旦它大于第一行,它应该获取结果的前一个元素(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