本文教你VBA其他類(lèi)語(yǔ)句和錯(cuò)誤語(yǔ)句處理。
一.其他循環(huán)語(yǔ)句
結(jié)構(gòu)化程序使用以上判斷和循環(huán)語(yǔ)句已經(jīng)足夠,建議不要輕易使用下面的語(yǔ)句,雖然VBA還支持。
- Gotoline該語(yǔ)句為跳轉(zhuǎn)到line語(yǔ)句行
- Onexpressiongosubdestinatioinlist或者onexpressiongotodestinationlist語(yǔ)句為根據(jù)exprssion表達(dá)式值來(lái)跳轉(zhuǎn)到所要的行號(hào)或行標(biāo)記
- Gosubline…line…Return語(yǔ)句,Return返回到Gosubline行,如下例:
Subgosubtry()
Dimnum
Num=inputbox(“輸入一個(gè)數(shù)字,此值將會(huì)被判斷循環(huán)”)
Ifnum>0thenGosubRoutine1:Debug.printnum:Exitsub
Routine1:
Num=num/5
Return
Endsub
- while…wend語(yǔ)句,只要條件為T(mén)RUE,循環(huán)就執(zhí)行,這是以前VB老語(yǔ)法保留下來(lái)的,如下例:
whilecondition ‘whileI<50
[statements] ‘I=I+1
wend ‘Wend
二.錯(cuò)誤語(yǔ)句處理
執(zhí)行階段有時(shí)會(huì)有錯(cuò)誤的情況發(fā)生,利用OnError語(yǔ)句來(lái)處理錯(cuò)誤,啟動(dòng)一個(gè)錯(cuò)誤的處理程序。語(yǔ)法如下:
OnErrorGotoLine‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)立刻轉(zhuǎn)移到line行去
OnErrorResumeNext‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)立刻轉(zhuǎn)移到發(fā)生錯(cuò)誤的下一行去
OnErroGoto0 ‘當(dāng)錯(cuò)誤發(fā)生時(shí),會(huì)立刻停止過(guò)程中任何錯(cuò)誤處理過(guò)程