我有一个大约 8 个元素的更大数组。我想将它分配给另一个较小的 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
在循环中,调整
i
在 largeArr(x+i)
到达大阵列的所需部分。另见 How do I slice an array in Excel VBA? .
关于excel - 如何将数组的一部分分配给vba中的另一个较短的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790695/