VBA奇怪的语法
请参阅下面的贝娄VBE告诉我们,尽管VBA奇怪的语法,vba,syntax,Vba,Syntax,请参阅下面的贝娄VBE告诉我们,尽管.Add是一个Sub,但它希望在第3行上有一个“=”,我不明白为什么 1 Sub Set_Params(key As String, value As Variant) 2 Dim Tranasitions as Collection 3 Transitions.Add (value, key) 4 End Sub 这是因为您的代码不知道什么是transasitions,所以您在声明中有一个输入错误(Dim行) 所以要修正它,修正声明
.Add
是一个Sub,但它希望在第3行上有一个“=”,我不明白为什么
1 Sub Set_Params(key As String, value As Variant)
2 Dim Tranasitions as Collection
3 Transitions.Add (value, key)
4 End Sub
这是因为您的代码不知道什么是
transasitions
,所以您在声明中有一个输入错误(Dim
行)
所以要修正它,修正声明:
Dim Transitions as Collection
然后从调用中删除()
,在VBA中不能将它们与SUB一起使用(除非您将调用
放在前面):
首先,使用一致的名称引用集合 然后,使用调用转换。添加或删除括号
Vba具有这种神秘的调用语法。删除括号
Sub Set_Params(key As String, value As Variant)
Dim Transitions as New Collection
Transitions.Add value, key
End Sub
此外,您还必须实际创建一个新的转换实例。
哦,当您声明时,您将
转换
拼写为转换
。打开Option Explicit
,这样就不会再发生这种情况。添加后有一个空格。我刚刚测试了它,没有空格,:(相同的结果Minus one?我在这里是正确的。多年来一直这样做,Call
是一个过时的关键字,它来自于一种古老的语言版本。实际上不是。这种行为非常微妙的不同。用谷歌搜索它。我理解其中的差异@Bathsheba。人们仍然在VBA中使用Call
,我认为这不值得投反对票。
Sub Set_Params(key As String, value As Variant)
Dim Transitions as New Collection
Transitions.Add value, key
End Sub