在Excel VBA中添加两个2D数组

时间:2015-10-29 13:32:14

标签: arrays excel vba excel-vba

我只是想知道如何在Excel中使用VBA添加两个2D数组。

我试图在互联网上搜索,在我看来,唯一的方法是循环每个元素。我是对的还是有更好/更快的方法?

作为一个推论问题:最好循环或复制到Range并使用PasteSpecial选项,如问题how to add arrays的答案精神一样?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用以下Worksheetfunction方法添加两个VBA变体数组:

Function ArrayAdd(A, B)
    ArrayAdd = Application.Pmt(, -1, A, B)
End Function

AB可以是数组,范围或值。 (https://stackoverflow.com/a/25596621/1252820

答案 1 :(得分:0)

由于“添加数组”存在相当大的模糊性,假设每个数组仅由数字组成,并且在A1中为3x3:C3和A6:A8然后输出到J1:L3请尝试:

Sub ArraySum()
Range("J1:L3").FormulaArray = "=RC[-9]:R[2]C[-7]+R[5]C[-9]:R[7]C[-7]"
End Sub