将数组中的值分配给另一个数组,而不循环
有没有像MATLAB中的方法来分配数组的行中的许多值?
假设你有一个matrixM(5,5)和一个向量V = [1,2,3,4,5]
在Matlab中,如果你想要第一行填充vectorV,你会写:
M(1,:) = V
在Excel VBA中是否有类似的东西,而不是循环遍历第一行的每一列,并每次赋值V(j)?
你可以尝试这些方面的东西:
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
VBAfunction。 -
Application.Choose
是一个可以接收和返回variables数组的WorksheetFunction方法。