字典类的add方法的VBA语法如下:
Dictionary.Add (Key as String, Item as Variant)
但实际上包括这些括号会产生语法错误。
因此,如果D是字典类型的对象,那么vba期望: D.添加" key1"," value1"
而不是:
D.Add(" key1"," value1")< =这会产生错误!
将Add方法与Exists对比:
Dictionary.Exists (Key as String)
实际上是预期括号:
V1 = D.Exists(" key1")
那么为什么Add语法指定()' s,但实际上并不期望它们(如果使用它们甚至会产生错误),而Exists语法指定它们并且实际上是期待他们?
答案 0 :(得分:1)
在VBA中,如果使用参数调用Sub,则可以使用以下命令调用它:
YourSub Parameter1
或
Call YourSub(Parameter1)
请注意,YourSub (Parameter1)
实际上会将Parameter1转换为字符串,然后将其交给YourSub - 这肯定不是您想要的!
如果它是一个函数,你可以调用它:
result = YourFunction(Parameter1)
如果是Dictionary对象,.Add
是方法/子,即您使用dict.Add Key, Value
,而.Exists
是一个函数,因此您需要使用if dict.Exist(Key)...