我在VBA中有一个要追加的数组,它是字典中的项。它是这样分配的:
dict.Add Key:=arr(i, 1), Item:=Array(arr(i, 2), arr(i, 3), arr(i, 4), arr(i, 5), arr(i, 6), arr(i, 7), arr(i, 8))
然而,我知道VBA中的数组是非常静态的,不能简单地追加。有没有办法解开数组的元素,然后创建一个新的数组(包含新的项),并将其分配回字典的项?
任何帮助都是非常感谢的。
发布于 2018-06-08 08:57:10
您可以使用ReDim进行保留,但只能对字典项的副本进行保留。显然,不允许在适当的位置重定向变量数组字典项..
Sub meh()
Dim i As Long, itm As Variant, dict As Object
Set dict = CreateObject("scripting.dictionary")
dict.Add Key:=("a"), Item:=Array(1, 2, 3)
For i = LBound(dict.Item("a")) To UBound(dict.Item("a"))
Debug.Print dict.Item("a")(i)
Next i
itm = dict.Item("a")
ReDim Preserve itm(LBound(itm) To UBound(itm) + 1)
itm(UBound(itm)) = "new"
dict.Item("a") = itm
For i = LBound(dict.Item("a")) To UBound(dict.Item("a"))
Debug.Print dict.Item("a")(i)
Next i
End Sub
https://stackoverflow.com/questions/50751925
复制相似问题