将2D数组的每个值分配给另一个2D数组

时间:2016-03-14 15:07:34

标签: arrays vba 2d

所以这是我的问题。您是否可以在不使用两个循环的情况下将2D数组的每个值分配给另一个2D数组?

1 个答案:

答案 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