当所有参数都指定且非null时,为什么会得到非可选的编译错误参数?

时间:2019-07-12 10:54:47

标签: excel vba

我有一个看起来像这样的项目:

Function boi(sheet As Worksheet) As Scripting.Dictionary
Set my = New Scripting.Dictionary
'actually some stuff with the sheet
my.Add Key:="Foo", Item:="Bar"

boi = my
End Function


Sub test()
Dim tsheet As Worksheet
Set tsheet = Sheets("INPUT_OLD_DATA")
MsgBox (boi(tsheet)("Foo"))

当我尝试运行test()时,它在行boi = my上给了我一个可选的编译错误参数。我不明白的是,在没有调用函数的行上怎么会有参数非可选错误。由于它实际上并没有到达boi = my行,因此我也不认为该错误可能是由于无效的回报造成的。

我来自Python / Javascript / Java,如果这是一个非常愚蠢的问题,请原谅我。 :)

1 个答案:

答案 0 :(得分:2)

boi是一个对象,所以您必须

SET boi = my