我创建了一个名为Class1的, 类,并在另一个模块,我想用类这样的ByRef参数:VBA不匹配
Dim budgeunit As Class1
Sub Creattree()
Dim lvl1p, lvl1m, lvl1dm As Class1
Set lvl1p = New Class1
lvl1p.setName ("pear")
Set lvl1m = New Class1
lvl1m.setName ("Mango")
Set budgeunit = New Class1
budgeunit.addtochildren (lvl1p), budgeunit.addtochildren(lvl1m)
End Sub
但是,当我编译它,它突出budgeunit.addtochildren( lvl1m) 和Byref参数不匹配。 我已经声明了所有参数,我不知道为什么会发生这种情况。 类代码:
Dim Children() As Class1
Dim Parent() As Class1
Public level As Integer
Public name As String
Function setName(nm As String)
name = nm
End Function
Function addtochildren(node As Class1)
num = Children.Count
ReDim Children(num + 1) As String
Children(num) = node
node.addParent (Me)
End Function
您的变量声明只声明'lvl1dm'为Class1:其他变量将是变体。您不能使用逗号作为语句分隔符。你的类方法应该是subs,因为它们不返回任何值。然后从addtochildren调用中删除括号。 Class1代码中“addParent”的定义在哪里? –
哦,谢谢你告诉我,我还没有落入VBA模式......忘记了这个表扬不像JAVA中的表扬。 –