将值从一个数组分配给另一个数组而不进行循环

时间:2015-09-13 15:07:24

标签: excel vba excel-vba

在MATLAB中是否有一种方法可以在数组的行中分配多个值?

让我们说你有一个矩阵M(5,5)和一个向量V = [1,2,3,4,5]

在Matlab中,如果你想用向量V填充第一行,你会写:

M(1,:) = V 

在Excel VBA中是否存在类似的内容,而不是循环遍历第一行的每一列并且每次都分配值V(j)?

1 个答案:

答案 0 :(得分:0)

你可以尝试这些方法:

Sub InitializeMatrixWithVector()

Dim V(), M()
ReDim M(1 To 5, 1 To 5)

V = Array(1, 2, 3, 4, 5)
M = Application.Choose([1+(row(1:5)=1)], M, V)

Range("B1").Resize(UBound(M), UBound(M, 2)) = M

End Sub
  • 方括号等同于Evaluate VBA函数。
  • Application.Choose是一个可以获取和返回变量数组的WorksheetFunction方法。