代码之家  ›  专栏  ›  技术社区  ›  sgp667

VBA奇怪语法[重复]

  •  1
  • sgp667  · 技术社区  · 10 年前

    见下文,VBE告诉我们,尽管事实上 .Add 是潜艇,我不明白为什么?

    1  Sub Set_Params(key As String, value As Variant)
    2      Dim Tranasitions as Collection
    3      Transitions.Add (value, key)
    4  End Sub
    
    3 回复  |  直到 10 年前
        1
  •  3
  •   T.J. Crowder    10 年前

    这是因为你的代码不知道什么 Tranasitions 就是,你在声明中有一个错别字( Dim 行)。

    因此,要修复它,请修复声明:

    Dim Transitions as Collection
    

    然后删除 () 从调用中,您不会在VBA中将它们与subs一起使用(除非 Call 前面):

    Transitions.Add value, key
    
        2
  •  0
  •   RubberDuck    10 年前

    删除括号。

    Sub Set_Params(key As String, value As Variant)
        Dim Transitions as New Collection
        Transitions.Add value, key
    End Sub
    

    此外,您还必须实际创建一个新的Transitions实例。 哦,你拼了 Transitions Tranasitions 当你宣布的时候。转身 Option Explicit 这样就不会再发生了。

        3
  •  0
  •   Bathsheba    10 年前

    首先,使用一致的名称引用集合。

    然后,使用 Call Transitions.Add 或放下支架。

    Vba有这种神秘的调用语法。