EXCEL表格中使用VBA錯誤捕捉On Error Goto的兩種方法

VBA中錯誤捕捉的方法主要有兩種
第一種捕捉方法:
1、語法:
On Error GoTo Err_Handle '如果遇到錯誤就跳轉(zhuǎn)到錯誤處理代碼
語句xxxxx
Exit Sub/Function(如果沒有這條語句,即使沒有錯誤也會執(zhí)行錯誤處理語句)
Err_Handle: 語句 xxxxxx
2、舉例:
Sub 查找數(shù)字() ’本段代碼查找電子表格中有沒有數(shù)字12
On Error GoTo Err_Handle
MsgBox Cells.Find(12).Address
Exit Sub '如果沒有這個退出過程語句,會一直執(zhí)行下去
Err_Handle:
MsgBox ("不存在該數(shù)字")
End Sub
(1)、電子表中數(shù)據(jù)和代碼
(2)、查找12的結(jié)果:
(3)、查找13的結(jié)果:
第二種捕捉方法:
1、語法:
On Error Resume Next '如果遇到錯誤,不管錯誤,繼續(xù)往下執(zhí)行,但如果嵌套了其他錯誤處理語句,這些錯誤處理語句還是會按照自己規(guī)則運行
語句xxxx
On Error GoTo 0 ’結(jié)束錯誤捕捉
2、舉例代碼:
Sub 查找數(shù)字()
Dim i As Integer
On Error Resume Next '遇到錯誤向下執(zhí)行
MsgBox Cells.Find(13).Address
On Error GoTo Err_Handle
i = 10 / 0 ’會跳轉(zhuǎn)到錯誤處理語句,而不會運行 Exit sub
Exit Sub
Err_Handle:
MsgBox i
On Error Resume Next
End Sub
3、結(jié)果說明和圖例:
excel表中沒有13這個數(shù)字,但是不會報錯也不會有彈窗
在On Error Resume Next 和 Err_Handle之間代碼,還是可以發(fā)揮錯誤捕獲功能,因此可以出現(xiàn)下面彈窗:
相關(guān)推薦:
excel中怎么利用VBA制作一個登錄數(shù)據(jù)驗證窗口?
excel怎么利用vba實現(xiàn)批量套打快遞單批量打印單據(jù)?
相關(guān)文章
- 這篇教程是向腳本之家的朋友分享excel中MAX和MIN函數(shù)的幾種不同使用方法,教程真的很不錯,很值得大家學習,很適合新手來學習,推薦過來,一起來學習吧2016-02-16
EXCEL中怎么使用asc全角轉(zhuǎn)半角函數(shù)?
EXCEL中怎么使用asc全角轉(zhuǎn)半角函數(shù)?在輸入的字符的時候,基本上輸入法的默認情況是半角輸入的,在excel中有一個快速轉(zhuǎn)換全角半角的函數(shù)asc,下面分享詳細的解決辦法2016-02-16- 這篇教程是向腳本之家的朋友分享excel簇狀柱形圖的變形,教程真的很不錯,很值得大家學習,推薦到腳本之家,有興趣的朋友快快來學習吧2016-02-16
- 如果你是在辦公室上班或者是文員等,這個是很有用的哈,下面小編就為大家匯總excel表格編輯技巧,一起來看看吧2016-02-15
- 下面小編就為大家分享在Excel中常用函數(shù)將多列文字合并到一列方法,對于不知道怎么操作的朋友可以參考本文,希望能對大家有所幫助2016-02-15
- Excel表格怎么到dat文件數(shù)據(jù)?工作中經(jīng)常需要處理dat數(shù)據(jù),怎么才能把dat數(shù)據(jù)導入excel呢?下面分享Excel表格導入dat文件數(shù)據(jù)的詳細步驟,需要的朋友可以參考下2016-02-15
- Excel高手的世界,我們初觸excel的同學們,真還不懂。高手們在編寫excel函數(shù)公式,經(jīng)常會玩大括號({})、雙減號(--)、百分號(%)、連接空值(&"")等等稀奇古怪的符號,2016-02-16