所以这是我的问题。您是否可以在不使用两个循环的情况下将2D数组的每个值分配给另一个2D数组?
答案 0 :(得分:0)
可悲的是没有。一些编程语言支持(例如python numpy或MATLAB),但不支持VBA。
有两个例外情况,这可能是......
例外1:您的来源或目的地是Excel范围:
Dim myArray
myArray = Range("A1:B2").Value 'Reading values from Excel to VBA works
'NOTE: myArray will now be a Variant(1 to 2, 1 to 2) 2D array.
myArray(1,1)=5
Range("A1:B2").Value = myArray 'Writing values from VBA to Excel also works
异常2(平凡):如果将2D数组值分配给另一个变量。
例如,假设您有以下2D数组:
Dim A(1,1)
A(0, 0) = 1: A(0, 1) = 2: A(1, 0) = 3: A(1, 1) = 4
然后将数据(完全)复制到另一个变量很简单:
Dim B 'or Dim B as Variant
B=A