Board logo

標題: EXIT SUB問題 [打印本頁]

作者: basarasy    時間: 2010-9-22 00:47     標題: EXIT SUB問題

請問大大有什麼方法可以1次過跳出所有SUB?
eg.  有3個SUB   A,B和C

SUB  A()
B
C
END SUB

有什麼方法可以是B跳出所有SUB(跳到A的END SUB),不RUN  SUB C?
作者: oobird    時間: 2010-9-22 08:12

B
exit sub
c
end sub
作者: basarasy    時間: 2010-9-22 08:25

回復 2# oobird


    不能這樣.
因為  
SUB  B
IF  [A1]=1 THEN
EXIT SUB (這個地方想出所有SUB)
END IF
XXXXXXX
XXXXXXX
END UB

A1 <> 1 就會RUN   XXXX和 SUB C.
作者: oobird    時間: 2010-9-22 09:31

SUB  B
IF  [A1]=1 THEN
EXIT SUB (這個地方想出所有SUB)
else
XXXXXXX
XXXXXXX
end if
END sUB
作者: et5323    時間: 2010-9-22 11:25

SUB  B
IF  [A1]=1 THEN
end (這個地方想出所有SUB)
END IF
XXXXXXX
XXXXXXX
END sUB
作者: basarasy    時間: 2010-9-22 15:30

本帖最後由 basarasy 於 2010-9-22 15:34 編輯

RUN a   

B1  C1 和A2 不會出東西.

有什麼句法可以 在   子SUB跳出所有SUB. OR  停止所有SUB.
作者: GBKEE    時間: 2010-9-22 16:18

回復 6# basarasy
你在執行程序A() 的過程中執行到程序B()  為一個程式區塊
程序B() 中的 If [A1] = 1 Then
                      Exit Sub  '<-- 只會離開 程序B()
                     End If
如程序B()用   If [A1] = 1 Then
                            End  '<-- 會結束 所有程序區塊    (  程序A() -> 開啟程序B()  )            
                     End If
作者: basarasy    時間: 2010-9-22 16:29

回復 7# GBKEE


    謝謝大大 .
原來只用end 就可以出所有sub ><
作者: Min    時間: 2010-9-22 21:46

本帖最後由 Min 於 2010-9-22 21:50 編輯

恕我多嘴...
趁著程式還沒越寫越大時 趕快導正!
直接用end是可以結束整個程式沒錯 但這有點.....不妥!
較正統的方式因該return回來main(也就是您的sub a)
讓a來決定是不是還要跑sub b或sub c...
最後仍是由sub a結束程序.
作者: basarasy    時間: 2010-9-23 00:10

回復 9# Min

謝謝提點.
    因為我有2個按鈕
1個是用SUB A
1個用SUB B
有野東西只想在SUB B做
所以才用 END的方法.
作者: cai168    時間: 2010-11-28 10:05

thank you你的回答學習了




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)