将数据块追加到Excel VBA中的数组

时间:2018-10-19 21:22:13

标签: excel vba

我在电子表格中每月有60年的现金流,并在for循环中遍历1,000多个案例。我想将这些现金流存储在一个数组中。一次抓取整个范围并将其存储在数组中要比逐个单元快得多。目前,我有以下代码在then循环中获取数据:

With ActiveSheet
     CF_Arr(i, 1) = .Range(.Cells(StartRow, StartCol), .Cells(EndRow, EndCol))
End With

这个问题是它增加了数组的尺寸。我宁愿将现金流附加在数组的末尾。例如,如果CF_Arr = [x x x],并且我添加了另一个数据块,我希望它看起来像CF_Arr = [x x x x x x],而不是CF_Arr = [[x x x],[x x x]]。当它看起来像后者时,您想要将其写回到工作表中,则必须对其进行遍历,而不是使用类似以下内容一次写完所有内容:

With ActiveSheet
     .Range(.Cells((i - 1) * (EndRow - StartRow + 1) + 2, 1), _
     .Cells(i * (EndRow - StartRow + 1) + 2, EndCol - 
     StartCol)).Value2 = cashFlow(i, 1)
end with

0 个答案:

没有答案