????今天發(fā)現(xiàn)VBA一個(gè)神奇的功能,即單步調(diào)試及對(duì)象監(jiān)視功能,對(duì)于難理解抽象語句的我來說,簡(jiǎn)直發(fā)現(xiàn)了新大陸。在這上篇簡(jiǎn)書中,提到本地窗口、立即窗口和監(jiān)視窗口【http://www.itdecent.cn/p/afd4974c975b 】,在本文展開詳細(xì)解讀:
VBA程序調(diào)試·原則及工具
調(diào)試目的:程序投入運(yùn)行前,修正語法錯(cuò)誤和邏輯錯(cuò)誤,保證程序的正確性。
????根據(jù)測(cè)試時(shí)所發(fā)現(xiàn)的錯(cuò)誤信息和利用調(diào)試工具追蹤的提示信息,兩者相互結(jié)合綜合判斷 錯(cuò)誤發(fā)生原因和位置。
調(diào)試原則:
1、根據(jù)代碼邏輯,大致判斷錯(cuò)誤可能出現(xiàn)的位置;
2、借助調(diào)試工具,理清程序數(shù)據(jù)流轉(zhuǎn)邏輯;根據(jù)調(diào)試的提示信息,做出正確的處理。
3、反思錯(cuò)誤本身,是否存在設(shè)計(jì)偏差。
VBA調(diào)試工具:
- Debug.print
- 設(shè)置斷點(diǎn)
- 單步調(diào)試
- 添加監(jiān)視及監(jiān)視窗口
- 本地窗口
- 立即窗口
- 單步調(diào)試跳轉(zhuǎn)
編寫程序后,點(diǎn)擊運(yùn)行后報(bào)錯(cuò),程序中斷:VBA程序調(diào)試·實(shí)際操作

-
Debug.print 打印錯(cuò)誤信息
Debug.print打印報(bào)錯(cuò)信息 -
設(shè)置斷點(diǎn)
點(diǎn)擊運(yùn)行,程序?qū)⑦\(yùn)行至斷點(diǎn)處停止,方便排查錯(cuò)誤區(qū)域。
設(shè)置斷點(diǎn)兩種方法:
1、點(diǎn)擊需要斷點(diǎn)行的前面,行變深紅色;
2、調(diào)試菜單 -> 選擇切換斷點(diǎn)(光標(biāo)停在斷點(diǎn)行,按快捷鍵F9)
設(shè)置斷點(diǎn)后行項(xiàng)變紅
單步調(diào)試
逐條運(yùn)行程序,便于查看變量值、添加語句或分析bug。
設(shè)置方法:光標(biāo)停在代碼處,點(diǎn)擊調(diào)試菜單 -> 選擇逐語句 (快捷鍵F9)-
添加監(jiān)視
可以選擇對(duì)象進(jìn)行監(jiān)視,在監(jiān)視窗口可查看對(duì)象值。
設(shè)置方法:光標(biāo)變量或?qū)ο筇?,右鍵 或點(diǎn)擊調(diào)試菜單 -> 選擇**
添加監(jiān)視**
添加監(jiān)視界面 -
本地窗口和監(jiān)視窗口
通過逐行編譯代碼,可在立即窗口和監(jiān)視窗口查看值的內(nèi)容,發(fā)現(xiàn)錯(cuò)誤位置及原因。
添加監(jiān)視后可見對(duì)象的值和類型 立即窗口
1、打印信息,在窗口輸入Debug.print 表達(dá)式... 可顯示表達(dá)式的值;
2、可以測(cè)試過程,在窗口中輸入過程名稱和實(shí)參以便調(diào)用;
3、可以檢查錯(cuò)誤號(hào),如Error 11 (提示除數(shù)為0)單步強(qiáng)制跳轉(zhuǎn)
用途:部分時(shí)候,需要看下else的運(yùn)行結(jié)果,又懶得去調(diào)if的判斷值。
用法:當(dāng)運(yùn)行到斷點(diǎn)或者單步時(shí),鼠標(biāo)安裝黃色那一行,拖動(dòng)你要運(yùn)行的位置。
當(dāng)然以上錯(cuò)誤可通過判斷出來,不必設(shè)置斷點(diǎn),僅為效果演示~沖鴨!小野s



