2013-02-12 19 views
10

Tôi có một method-A() đó được gọi là từ nhiều phương pháp,Chấm dứt Macro Từ thực hiện sâu hơn về xác nhận

Trên một điều kiện trong phương pháp-A, tôi phải chấm dứt chương trình macro.

tôi thấy một tùy chọn là Exit sub nhưng điều này sẽ chỉ thoát khỏi sub ie:method-A() hiện tại và chương trình còn lại tiếp tục.

cách xử lý việc này.

Sub mainMethod() 
    method-A() 
end Sub 

Sub method-A() 
    if (true) Then 
     'Terminate the macro. that is exit method-A() and also mainMethod() 
end Sub 

Trả lời

14

Chỉnh sửa sau khi bình luận: Chỉ cần sử dụng end nơi bạn muốn chấm dứt tất cả các mã.

Sub mainMethod() 
    method_A() 
end Sub 

Sub method-A() 
    if (true) Then End 
     'Terminate the macro. that is exit method-A() and also mainMethod() 
end Sub 

gốc trả lời: Tất cả bạn cần làm là làm cho methodA một chức năng và trở về chức năng này như FALSE nếu bạn muốn thoát khỏi phương pháp chính theo đoạn mã sau:

Sub mainMethod() 

    'Run the custom function and if it returns false exit the main method 
    If Not method_A Then Exit Sub 

    'If method_A returns TRUE then the code keeps going 
    MsgBox "Method_A was TRUE!" 

End Sub 

Function method_A() As Boolean 
    Dim bSomeBool As Boolean 

    'Code does stuff 
    bSomeBool = True 

    'Check your condition 
    If bSomeBool Then 
     'Set this function as false and exit 
     method_A = False 
     Exit Function 
    End If 

    'If bSomeBool = False then keep going 
End Function 
+0

vấn đề với điều này phương pháp tiếp cận là tôi có nhiều cuộc gọi chức năng và không chỉ 1 lớp gọi hàm. vì vậy phương pháp tiếp cận biến này là không thực tế –

+0

Câu trả lời cập nhật những gì bạn đang có sau? – CuberChase

+0

ohhh có thể ... hãy để tôi kiểm tra –

Các vấn đề liên quan