如何将数组的一部分分配给vba中的另一个较短的数组?

我有大约8个元素的更大arrays。 我想把它分配给3个元素的另一个更小的数组。 我该怎么做呢? 这是我的代码,但我不断收到一个错误,“不能分配给数组”感谢您的帮助。

Dim largeArr() as variant largeArr = Array(7, 8, 9, 10, 11, 12, 13, 14) Dim smallArr(3) As Variant smallArr=largeArr() 

要对一个数组进行子集化,可以通过循环遍历所需的部分来为小数组提供大数值。

 Sub test() Dim largeArr(), smallArr(1 To 3) As Variant largeArr = Array(7, 8, 9, 10, 11, 12, 13, 14) For x = 1 To 3 smallArr(x) = largeArr(x + 5) Debug.Print smallArr(x) 'Print small array in the Immediate Window Next x End Sub 

在循环中,调整largeArr(x+i)中的largeArr(x+i)以到达大数组的所需部分。

另请参见如何在Excel VBA中切片数组? 。