在實(shí)際的Excel開(kāi)發(fā)過(guò)程中,不可能一次性寫(xiě)對(duì)所有代碼,需要不斷調(diào)試,直到最終達(dá)到功能目的。那么,該如何調(diào)試呢?
Work辦公優(yōu)質(zhì)Excel模板來(lái)告訴你。
Excel編輯器如何調(diào)試代碼的呢?
使用Excel編輯器提供的代碼調(diào)試功能,可以更快定位錯(cuò)誤來(lái)源,提高開(kāi)發(fā)效率。
VBA 編輯器包含多種調(diào)試方法,他們可以在工具欄【調(diào)試】菜單中找到。接下來(lái)將介紹常用的調(diào)試功能。
1.運(yùn)行代碼 – F5
此功能雖然不在調(diào)試菜單里,但是它是最常用的調(diào)試方法。很多時(shí)候,我們只需要快速運(yùn)行某一個(gè)過(guò)程,查看其結(jié)果。
F5 快捷鍵就是運(yùn)行過(guò)程或函數(shù)的快速方法。把鼠標(biāo)光標(biāo)移動(dòng)到想要運(yùn)行的過(guò)程或函數(shù)內(nèi)部,按 F5 鍵即可。
VBA編輯器內(nèi)運(yùn)行代碼
2.按行運(yùn)行代碼: F8
F8 快捷鍵可以從頭按行運(yùn)行代碼,每次按 F8 鍵,就運(yùn)行一行代碼,然后暫停。
此方法的好處是可以一行一行運(yùn)行代碼,觀察每一行代碼運(yùn)行結(jié)果,精確找到問(wèn)題所在。
3.跳過(guò)子過(guò)程運(yùn)行:SHIFT + F8
使用 F8 快捷鍵按行運(yùn)行代碼時(shí),一個(gè)過(guò)程調(diào)用另外一個(gè)子過(guò)程時(shí),子過(guò)程內(nèi)部也會(huì)按行運(yùn)行代碼。
如果想跳過(guò)子過(guò)程中按行運(yùn)行代碼,可以使用 SHIFT + F8 快捷鍵。這樣可以在父過(guò)程按行運(yùn)行代碼,子過(guò)程一次性運(yùn)行所有代碼,回到父過(guò)程繼續(xù)按行運(yùn)行。
4.跳出子過(guò)程:CTRL + SHIFT + F8
在子過(guò)程按行運(yùn)行代碼時(shí),可以使用 CTRL + SHIFT + F8 快捷鍵一次性運(yùn)行子過(guò)程余下所有行代碼,跳出到父過(guò)程。
5.運(yùn)行到光標(biāo)位置:CTRL + F8
使用 CTRL + F8 快捷鍵,可以一次性運(yùn)行到光標(biāo)所在位置行后暫停。
當(dāng)想要檢查某一行代碼有無(wú)問(wèn)題,又確定改行以上代碼沒(méi)問(wèn)題時(shí),可以使用此快捷鍵快速運(yùn)行代碼到當(dāng)前行。
6.設(shè)置斷點(diǎn):F9
斷點(diǎn)是代碼暫停運(yùn)行的一行代碼。設(shè)有斷點(diǎn)的代碼行,背景顏色突出顯示,默認(rèn)是深紅色。
設(shè)置/取消斷點(diǎn)有兩種方法:
1. 光標(biāo)放置在一行代碼內(nèi),按 F9 快捷鍵。再次按 F9 ,取消斷點(diǎn)。
2. 鼠標(biāo)點(diǎn)擊代碼行左側(cè)灰色背景處。再次鼠標(biāo)點(diǎn)擊,取消斷點(diǎn)。
斷點(diǎn)的數(shù)量沒(méi)有限制,代碼每次運(yùn)行到斷點(diǎn)處,會(huì)暫停運(yùn)行。如果想一次性取消所有的斷點(diǎn),可以使用 CTRL + SHIFT + F9 快捷鍵。
7.查看變量的值
使用按行運(yùn)行方法或斷點(diǎn)設(shè)置,代碼都會(huì)進(jìn)入到暫停期間。暫停時(shí),下一步運(yùn)行的代碼行背景變?yōu)辄S色,等待執(zhí)行。這時(shí)把鼠標(biāo)懸停在任意一變量的上面,可以看到該變量的當(dāng)前值。這有助于掌握程序運(yùn)行時(shí),變量的變化情況,快速找到問(wèn)題。
8.Debug.Print 函數(shù)查看變量的值
上面的方法使用鼠標(biāo)查看變量的值,除此之外,還能在立即窗口,使用 Debug.Print 函數(shù)打印出指定變量的值。
9.運(yùn)行時(shí)改變變量的值
代碼暫停期間除了查看變量的值外,還能實(shí)時(shí)改變變量的值,并且鼠標(biāo)調(diào)整下一步運(yùn)行的代碼行。
10.監(jiān)視表達(dá)式
程序運(yùn)行時(shí)查看某一表達(dá)式的值,可以使用監(jiān)視功能。這樣查看觀察表達(dá)式的值更方便。
首先,選中要觀察的表達(dá)式,然后鼠標(biāo)右鍵,彈出的菜單選擇【添加監(jiān)視】。
然后,出現(xiàn)添加監(jiān)視菜單對(duì)話框,點(diǎn)擊確定,完成添加。
最后,在編輯器右下方出現(xiàn)監(jiān)視框。代碼運(yùn)行及暫停時(shí),可以看到當(dāng)前表達(dá)式的值及相關(guān)信息。
11.強(qiáng)制結(jié)束運(yùn)行
通常,代碼運(yùn)行到 End Sub 或 End 語(yǔ)句時(shí)停止。如果想提前結(jié)束程序執(zhí)行,可以點(diǎn)擊工具欄【重新設(shè)置】按鈕。
總結(jié)
代碼調(diào)試的主要目的是把執(zhí)行代碼范圍縮小到一個(gè)小的范圍,快速定位問(wèn)題所在。VBA 編輯器提供的調(diào)試功能可以很好地完成這一目標(biāo)。使用調(diào)試功能可以做到以下工作:
1、按行運(yùn)行代碼;
2、代碼運(yùn)行時(shí),查看某一變量的值;
3、跳過(guò)或跳出子過(guò)程;
4、設(shè)置斷點(diǎn),添加監(jiān)視,查看某一表達(dá)式的變化;
5、強(qiáng)制結(jié)束過(guò)程。
以上分享了Excel編輯器如何調(diào)試代碼的辦公技巧,想了解更多的Excel知識(shí),請(qǐng)點(diǎn)擊Work辦公優(yōu)質(zhì)Excel模板。