如何在VBA中添加两个矩阵?

张俊|

我想知道如何在VBA中添加两个矩阵:

Sub add_two_matrices()
Dim A As Variant
Dim B as Variant
A = ActiveWorkbook.Sheets("Location_of_A").Range("A1: A5")
B = ActiveWorkbook.Sheets("Location_of_B").Range("A1: A5")

其中A = [1、2、3、4、5]和B = [2、3、4、5、6]我想获得C = A + B,即[3、5、7、9、11 ]

L42

不确定,但最接近的是:

Edit2:Transpose在下面合并两个都将返回一维数组。

Dim c, i As Integer
c = Evaluate("Transpose(Location_of_A!A1:A5)+Transpose(Location_of_B!A1:A5)")

'/* loop to check the values */
For i = LBound(c) To UBound(c)
    Debug.Print c(i)
Next

您也可以使用它MMULT WorksheetFunction来获取想要的东西。

Dim a, b, c, i As Integer

With Application
    a = .Transpose(Sheets("Location_of_A").Range("A1:A5"))
    b = .Transpose(Sheets("Location_of_B").Range("A1:A5"))
    c = .WorksheetFunction.MMult(Array(1, 1), Array(a, b))
End With

'/* loop to check values */
For i = LBound(c) To UBound(c)
    Debug.Print c(i)
Next

上面的方法有效,因为您的值在工作表中。
但是,如果您需要纯VBA解决方案,则必须循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章