gpt4 book ai didi

vba - Excel vba : Class sub: Wrong number of arguments or invalid property assignment on vba

转载 作者:行者123 更新时间:2023-12-04 20:05:23 26 4
gpt4 key购买 nike

我有课State和它里面的一些子,需要一个 Scripting.Dictionary作为论据。但是,当我尝试在那里传递字典时,我得到一个 wrong number of arguments or invalid property assignment错误。我不知道出了什么问题。

'Sub insite State class
Sub addSecondItems(itemsDict As Object)
MsgBox ("start addSecondItems")
End Sub

Sub test()
Dim stateCopy As State
Set stateCopy = New State
...
Dim dict1 As Object
Set dict1 = CreateObject("Scripting.Dictionary")
stateCopy.addSecondItems (dict1) 'error here
...
End Sub

同时
Sub testPetDict()

Dim petDict As Object
Set petDict = CreateObject("Scripting.Dictionary")
Call readPetDict(petDict)

End Sub

Sub readPetDict(petDict As Object)
Dim year As Integer
For year = 2014 To 2017
MsgBox (year & ". " & petDict(year))
Next
End Sub

工作正常。

这里可能有什么问题以及为什么第二种情况有效,而第一种情况失败?

最佳答案

您应该删除括号:

stateCopy.addSecondItems dict1

或使用 Call
Call stateCopy.addSecondItems(dict1)

否则,括号会尝试通过调用字典的默认属性 Item 将字典强制转换为一个值。 ,这需要一个参数,因此是错误消息。

关于vba - Excel vba : Class sub: Wrong number of arguments or invalid property assignment on vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46301752/

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