Excel VBA 除錯技巧:Debug.Print 與即時運算視窗使用教學

文章推薦指數: 80 %
投票人數:10人

Excel VBA 除錯技巧:Debug.Print 與即時運算視窗使用教學. 使用VBA 開發環境的即時運算視窗,測試各種臨時的運算,以及輸出除錯訊息,協助開發者測試並找出程式的問題 ... 跳至主要導覽跳至主要內容跳至主要資訊欄使用VBA開發環境的即時運算視窗,測試各種臨時的運算,以及輸出除錯訊息,協助開發者測試並找出程式的問題。

問題 通常我們在撰寫較複雜的程式時,會一次寫一小段,然後逐一測試每一段的執行結果是否正確,如果已經寫好的一小段程式碼執行結果正確,再繼續往下寫,這樣才不會等到全部寫完,執行結果錯誤時,分不清楚是哪裡有問題。

若要查看一些計算的結果,大家直覺上應該會使用MsgBox這類的方式來顯示計算結果,但是如果我想要輸出的資料有很多筆的話(例如查看For 迴圈中的資料時),每查看一筆資料,就要點一次MsgBox訊息視窗的「確定」按鈕,相當沒效率,該如何解決? Dimi,sAsInteger s=0 Fori=1To10 s=s+i '查看運算結果(必須點10次確定按鈕) MsgBox"s="&s Nexti 解法 如果想看的資料很多的時候,可以使用Debug.Print這個函數,配合VBA開發環境中的「即時運算」視窗,這樣就可以讓程式開發者快速的把大量的訊息或資料輸出來,一目了然,是一個非常好用的功能。

Debug.Print與即時運算視窗 Step1 在VBA的開發環境中,點選「檢視」中的「即時運算視窗」,或是直接按下Ctrl+G快速鍵。

開啟即時運算視窗 Step2 開啟「即時運算」視窗後,預設會顯示在程式碼的下方。

即時運算視窗 Step3 更改輸出訊息的方式,將原本的使用MsgBox輸出訊息的地方,改用Debug.Print: '輸出至即時運算視窗 Debug.Print"s="&s Debug.Print的功能就是輸出除錯用的訊息,使用這種方式輸出的資料都會直接顯示在「即時運算」視窗之中。

輸出除錯訊息 Step4 執行更改好的VBA巨集程式,然後在「即時運算」視窗當中就可以看到Debug.Print所輸出的訊息了。

執行結果 在使用Debug.Print輸出訊息時,每呼叫一次Debug.Print,就會自動在「即時運算」視窗中輸出一行訊息,開發者就可以一次清楚看到所有的除錯訊息,方便找出有問題的地方。

討論 「即時運算」視窗除了讓我們查看Debug.Print的輸出訊息之外,他也可以做為程式開發者的臨時計算機使用。

若要在「即時運算」視窗中進行臨時性的各種運算,可以先輸入一個問號?,然後接著輸入運算式,例如若要計算100/3,則可輸入: ?100/3 接著再按下「Enter」鍵,即可得到運算結果。

除了普通的運算之外,各種的VBA程式碼都可以用這樣的方式來執行,例如若要取得Excel活頁簿的工作表數量,可以輸入: ?Worksheets.count 在「即時運算」視窗中輸入程式碼時,也會有自動補齊的功能可用,所以不必擔心記不住某些屬性或函數名稱。

自動補齊功能 參考資料:ExcelCampus、微軟MSDN官方網站、StackOverflow 讀者互動方式 發佈留言取消回覆發佈留言必須填寫的電子郵件地址不會公開。

必填欄位標示為*留言*顯示名稱* 電子郵件地址* 個人網站網址 主要資訊欄搜尋 近期文章 Linux檢查、測試CPUAES-NI硬體加速加密指令集教學 CentOSLinux7.9自行編譯、安裝OpenSSH9.0p1伺服器教學與範例 Python使用zipfile模組壓縮、解壓縮ZIP檔案教學與範例 Python以LINENotify自動傳送即時訊息、圖片教學與範例 Linux使用Prometheus與Grafana監控伺服器狀態、發送告警Email簡訊教學與範例 Linux設定pam_tty_audit記錄SSH使用者操作指令教學與範例 Linux封鎖、解鎖登入失敗次數過多的帳號pam_faillock教學與範例 Python使用pytube自動下載YouTube影片教學與範例 推薦網站 Udemy線上教學課程 Coursera線上教學課程 關注本站 電子郵件Facebook 公益 家扶基金會 台灣世界展望會 Yahoo奇摩公益 igiving公益網 兒福聯盟



請為這篇文章評分?