gpt4 book ai didi

vba - VB Clear Scripting.Dictionary 对象

转载 作者:行者123 更新时间:2023-12-02 07:11:29 31 4
gpt4 key购买 nike

我正在编写 Excel 宏,但在清除 Scripting.Dictionary 对象时遇到问题:

Dim test As Integer
test = CompListDict.Count
CompListDict.RemoveAll
Set CompListDict = Nothing
Set CompListDict = CreateObject("Scripting.Dictionary")
Dim test1 As Integer
test1 = CompListDict.Count

在执行此操作之前,我将项目添加到字典中,然后尝试清除它,但 test1 将等于 test 并等于我添加的对象的 nr。

我做错了什么?谢谢!

最佳答案

如果我在我的工作站上运行以下宏,它就会起作用:

        Set compListDict = CreateObject("Scripting.Dictionary")

compListDict.Add 1, "Test"

Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll

Set compListDict = Nothing
Set compListDict = CreateObject("Scripting.Dictionary")

Dim test1 As Integer
test1 = compListDict.Count

运行后,test1等于0,test等于1。

确保您启用了 Option Explicit,并且变量名称中没有任何拼写错误。

此外,请确保您没有“On Error Resume Next”语句,因为它会隐藏代码中的错误。尝试将“On Error Goto 0”放在代码片段之前,以便 Excel 显示任何错误消息。

由于您将变量值设置为 Nothing,并为其分配了一个新的字典对象,因此它不可能保留先前存储的值。

我还尝试运行以下代码,它也给出了相同的结果:

        Set compListDict = CreateObject("Scripting.Dictionary")

compListDict.Add 1, "Test"

Dim test As Integer
test = compListDict.Count
compListDict.RemoveAll

Dim test1 As Integer
test1 = compListDict.Count

希望有帮助...

关于vba - VB Clear Scripting.Dictionary 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836660/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com