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

时间:2014-09-11 14:52:47

标签: excel vba

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

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

Dim smallArr(3) As Variant

smallArr=largeArr()

1 个答案:

答案 0 :(得分:1)

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

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

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

另见How do I slice an array in Excel VBA?