2017-11-25 88 views
0

Visual Representation of the arrays在阵列

嗨Excel VBA中的累计总和,

我刚开始用Excel VBA和我正在使用数组一个小项目。 Array1中的数据是静态的。我正在寻找一种使用VBA填充Array2的方法。

对于在ARRAY2每个单元我想做到以下几点:

数组2(ROW1)=数组1(ROW1)

...。

ARRAY2(行3)=数组1(ROW1 +行2 + ROW3)

...。

数组2(ROW5)=数组1(ROW1 +行2 + ... + ROW5)

如何翻译这个操作VBA?

回答

1

你尝试过什么吗?这是一种方法。

Sub x() 

Dim array1, array2() As Long, i As Long, j As Long, k As Long 

array1 = Range("A1").CurrentRegion.Value 'array1 populated from sheet, but could be via code 

ReDim array2(1 To UBound(array1, 1), 1 To UBound(array1, 2)) 

For i = LBound(array1, 1) To UBound(array1, 1) 
    k = k + 1 
    For j = LBound(array1, 2) To UBound(array1, 2) 
     array2(i, j) = Application.Sum(Application.Index(array1, Evaluate("ROW(1:" & k & ")"), j)) 
    Next j 
Next i 

Range("I1").Resize(UBound(array2, 1), UBound(array2, 2)).Value = array2 

End Sub 
+1

Thx我从这段代码开始,它工作的很棒! – JHS