VBA的程序終止、退出語句塊、分支及錯誤處理(End, exit, on error go to in VBA


代碼1: 程序終止及退出方法

 

 1 Option Explicit
 2  
 3 '一、END語句
 4  
 5    '作用:強制退出所有正在運行的程序。
 6  
 7 '二、Exit語句
 8  
 9    '退出指定的語句
10    
11    '1、Exit Sub
12      Sub e1()
13      Dim x As Integer
14         For x = 1 To 100
15           Cells(1, 1) = x
16           If x = 5 Then
17             Exit Sub
18           End If
19          Next x
20       Range("b1") = 100
21      End Sub
22     '2、Exit function
23      Function ff()
24      Dim x As Integer
25         For x = 1 To 100
26           If x = 5 Then
27             Exit Function
28           End If
29          Next x
30       ff = 100
31      End Function
32    
33    '3、Exit for
34      Sub e2()
35      
36      Dim x As Integer
37         For x = 1 To 100
38           Cells(1, 1) = x
39           If x = 5 Then
40             Exit For
41           End If
42          Next x
43          
44        Range("b1") = 100
45      End Sub
46    '4、Exit do
47      Sub e3()
48      Dim x As Integer
49        Do
50          x = x + 1
51           Cells(1, 1) = x
52           If x = 5 Then
53             Exit Do
54           End If
55        Loop Until x = 100
56        Range("b1") = 100
57      End Sub

代碼2: 分支及跳轉方法

 1 Option Explicit
 2  
 3 'Goto語句,跳轉到指定的地方
 4  
 5 Sub t1()
 6   Dim x As Integer
 7   Dim sr
 8 100:
 9   sr = Application.InputBox("請輸入數字", "輸入提示")
10   If Len(sr) = 0 Or Len(sr) = 5 Then GoTo 100
11   
12 End Sub
13  
14 'gosub..return ,跳過去,再跳回來
15  
16 Sub t2()
17   Dim x As Integer
18   For x = 1 To 10
19      If Cells(x, 1) Mod 2 = 0 Then GoSub 100
20   Next x
21 Exit Sub
22 100:
23    Cells(x, 1) = "偶數"
24    Return          '跳到gosub 100 這一句
25 End Sub
26  
27 'on error resume next '遇到錯誤,跳過繼續執行下一句
28  
29  Sub t3()
30   On Error Resume Next
31   Dim x As Integer
32   For x = 1 To 10
33     Cells(x, 3) = Cells(x, 2) * Cells(x, 1)
34   Next x
35  End Sub
36  
37 'on error goto  '出錯時跳到指定的行數
38  
39   Sub t4()
40   On Error GoTo 100
41   Dim x As Integer
42   For x = 1 To 10
43     Cells(x, 3) = Cells(x, 2) * Cells(x, 1)
44   Next x
45    Exit Sub
46 100:
47    MsgBox "在第" & x & "行出錯了"
48   End Sub
49  
50  'on error goto 0 '取消錯誤跳轉
51  
52   Sub t5()
53   On Error Resume Next
54   Dim x As Integer
55   For x = 1 To 10
56     If x > 5 Then On Error GoTo 0
57     Cells(x, 3) = Cells(x, 2) * Cells(x, 1)
58   Next x
59    Exit Sub
60  
61   End Sub

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM