2013-12-25 2 views
2

Я новичок в VBA, и у меня возникли ошибки при этом очень простой код:Ошибка 424 при переходе параметра Range

Sub sub1() 
    Dim myCell As Range 
    Set myCell = Sheet1.Cells(2, 2) 
    sub2 (myCell)  '<<<<------- Error 424 
End Sub 

Sub sub2(x As Range) 
    'not doing anything yet 
End Sub 

Я получаю Error 424 при вызове sub2 из sub1. На мой взгляд, это должно сработать, поскольку myCell - это диапазон ... любая идея?

ответ

3

Ty удаление либо удаление скобок или добавление Call т.е.

Sub Opt1() 
    Dim myCell As Range 
    Set myCell = Sheet1.Cells(2, 2) 
    sub2 myCell  
End Sub 

Sub sub2(x As Range) 
MsgBox x.Address 
End Sub 

или

Sub Opt2() 
    Dim myCell As Range 
    Set myCell = Sheet1.Cells(2, 2) 
    Call sub2(myCell) 
End Sub 

Sub sub2(x As Range) 
MsgBox x.Address 
End Sub 
+0

Какой позор, это было что. Но скобки допустимы, если я не объявляю тип для параметра ... странно, спасибо большое! – edutesoy

+0

@edutesoy Нет проблем, посмотрите http://msdn.microsoft.com/en-us/library/office/gg251432.aspx – brettdj

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