VBA中的ByRef参数类型不匹配

VBA中的ByRef参数类型不匹配,vba,Vba,我写的代码就像 sub something Dim symbols as Symboldetail Dim errorSymbols as Symboldetail Dim anyError as boolean Dim name, id as String set symbols = new Symboldetail set errorSymbols = new Symboldetail anyerror = funName("",""

我写的代码就像

sub something
    Dim symbols as Symboldetail
    Dim errorSymbols as Symboldetail
    Dim anyError as boolean
    Dim name, id as String
    set symbols = new Symboldetail
    set errorSymbols = new Symboldetail 
    anyerror = funName("","",symbols ,errorSymbols)
end sub

Function funName(ByVal name As String,ByVal id As String, ByRef symbols as Symboldetail,ByRef errorSymbols as Symboldetail) As Boolean
    'here editing the values of symbols and errorSymbols
     funName = false/true
end Fuction
当我编译这段代码时,它抛出错误“ByRef参数类型不匹配”

我不知道我犯了什么错误


提前谢谢我知道我犯了什么错误

'i declared these variables like 
Dim symbols, errorSymbols as Symboldetail

'instead of 
'Dim symbols as Symboldetail
'Dim errorSymbols as Symboldetail
因此,它将符号作为变量而不是Symboldetails,因为当我传入变量时,它抛出的错误是“type mis match error”


@非常感谢您的宝贵意见

您有一个同名的子例程和函数,为什么要这样做?当一个是函数,一个是子程序时,不能重载。那么什么是
Symboldetail
errorSymbols=False
?如果Symboldetail是一个类实例/udt,那么它也不能是布尔值。现在我更正了它,这里我写错了,但在代码中,它们的名称不同。请使用所有参数调用funName
anyerror=funName(name,id,errorSymbols,symbols)