2014-09-22 4 views
-2

Я написал код, какByRef несоответствие типа аргумента в 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("","",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 аргумент типа рассогласования»

я не знаю, что это ошибка, я делает

заранее спасибо

+1

у вас есть подпрограмма и функция с тем же именем - зачем вы это делаете? Вы не можете перегружать, когда одна функция, а одна - подпрограмма – LittleBobbyTables

+0

также whats 'Symboldetail' – 2014-09-22 13:48:54

+0

' errorSymbols = False'? Если Symboldetail является экземпляром класса/udt, он также не может быть логическим. –

ответ

1

Я пришел, чтобы узнать, что ошибка я сделал

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

'instead of 
'Dim symbols as Symboldetail 
'Dim errorSymbols as Symboldetail 

так оно принимает символы в качестве варианта вместо Symboldetails, так как, когда я Passin переменной она бросает ошибку как «неправильно тип соответствует ошибке»

@all благодарит за ценные замечания

Смежные вопросы