0
我有一個類State
,它裏面的一些子代碼以Scripting.Dictionary
作爲參數。但是,當我嘗試在那裏傳遞字典時,出現wrong number of arguments or invalid property assignment
錯誤。我無法弄清楚什麼是錯的。Excel vba:Class sub:參數的錯誤數量或vba的無效屬性分配
'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'或使用'調用' – Rory
通過使用圓括號,您強制對象傳遞值,因此錯誤。 –
@Rory謝謝你善良的人!你讓我從不可逆轉的絕望中解脫出來!你可能會發佈一個答案,我會批准它。 – Ans