将数组中的值分配给另一个数组,而不循环

有没有像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方法。