首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在VBA中解包数组和向数组添加项

在VBA中解包数组和向数组添加项
EN

Stack Overflow用户
提问于 2018-06-08 08:50:14
回答 1查看 207关注 0票数 5

我在VBA中有一个要追加的数组,它是字典中的项。它是这样分配的:

代码语言:javascript
复制
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中的数组是非常静态的,不能简单地追加。有没有办法解开数组的元素,然后创建一个新的数组(包含新的项),并将其分配回字典的项?

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 08:57:10

您可以使用ReDim进行保留,但只能对字典项的副本进行保留。显然,不允许在适当的位置重定向变量数组字典项..

代码语言:javascript
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50751925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档