在中斷模式下(ctrl+Break鍵),可以做:
1.執行 工具----選項----編輯器----勾選“自動顯示數據提示”
則當用鼠標懸停在變量或表達式上時,會出現提示窗口,顯示其名稱和值!
2.在監視窗口查看某些表達式的值,方法是:先用鼠標拖黑以選中表達式,再執行 調試----添加監視,出現“添加監視”對話框。
3.在代碼窗口中選中表達式----按shift+F9----出現”快速監視“對話框,顯示該表達式的上下文,表達式及其值。
4.按ctrl+G,出現"立即窗口”。它主要有4個作用:
(1).打印信息
在窗口中輸入Debug.Print 表達式1;表達式2......,即可以顯示各表達式的值!
2.可以給變量或屬性賦值!
例如:Form1.BackColor=255
MaxRows=50
3.可以測試過程
在此窗口中可以直接輸入過程名稱和實參以便調用過程。
例如:
MySub 2*i
4.可以檢查錯誤號
例如:輸入
Error 11
按下回車鍵時,在此窗口中顯示11號錯誤的信息。我常用這個方法來檢查錯誤號!
斷點
在設計和中斷模式下都可以設置斷點,當程序執行到斷點語句時,則中斷執行,這時處於中斷模式!
1.設置斷點
在代碼窗口,用鼠標點擊左邊區使之出現黑點,代表已經設置斷點!也可以把光標移動到選定語句上,按F9.
斷點語句以粗體字表示,顏色可以由: 工具---選項---編輯器格式---代碼顏色----“斷點點文本”選項設定!
2.撤銷斷點:
調試----清除所有斷點(ctrl+shift+F9)
3.使用Stop語句
關閉項目時,斷點不被保存,下次調試時需要重新設置。
如果多次調試,最好的方法是使用Stop語句,每當遇到它,程序進入中斷模式。
Stop語句可以保存在代碼中,測試完后可以全部取消!
監視窗口可以監視表達式,“快速監視”窗口也可以顯示表達式的值。
立即窗口對表達式求值,給變量和屬性賦值。
本地窗口顯示局部變量的當前值。例如下圖自己定義的變量:
單步執行調試程序:
1.調試----逐語句(按快捷鍵是F8)
2.在逐語句執行過程中,遇到調用的過程,不想進入其中停留,按shift+F8,可以“逐過程”執行而不進入!
3.跳出過程
調試----跳出(快捷鍵是ctrl+shift+F8),可以運行當前過程剩余語句代碼,轉到調用該過程語句的下一個語句去!
4.執行特定的語句塊
這是很重要的一個方法,常用到:在中斷模式下,把光標移到要執行的語句行處,執行 調試---設置下一條語句,
用它可以設置下次要執行的語句。再把光標移到要停止的語句處,執行 調試----運行到光標處(快捷鍵是ctrl+F8),則可以運行到該語句處!
這種方法的優點是可以繞過不想執行的語句塊(例如你明確知道某個有問題的語句)。
但是可以執行 工具----選項----編輯器----自動語法檢測,則在代碼窗口輸入代碼產生語法錯誤時,會立即顯示出錯誤信息!
調用堆棧:應用程序處於中斷模式時,顯示已被調用過的過程!
1.怎么顯示調用堆棧的對話框:視圖---調用堆棧(快捷鍵是ctrl+L)
2.跟蹤嵌套過程
在VBA過程中,常常有調用另外某個或某幾個過程,模塊,窗體。
可以用“調用堆棧”從下往上顯示已活化過程的項目名稱,模塊或窗體名稱和過程名稱。
操作方法是:ctrl+L ----用鼠標選中某個過程-----顯示。
這時,代碼窗口顯示出該過程,光標處於即將調用下一個過程的調用語句處。
此時,按(shift+F9)用“快速監視”或(ctrl+G)立即窗口,可以顯示有關變量!
3.用“調用堆棧”來檢查過程調用自身的能力