Excel宏 - 程式碼除錯



您已經瞭解到宏以VBA程式碼的形式儲存在Excel中。您還了解到可以直接編寫程式碼以在VBA編輯器中建立宏。但是,與任何程式碼一樣,宏程式碼也可能存在缺陷,並且宏可能無法按預期執行。

這需要檢查程式碼以查詢缺陷並進行更正。在軟體開發中,此活動使用的術語是除錯。

VBA除錯

VBA編輯器允許您暫停程式碼的執行並執行任何所需的除錯任務。以下是您可以執行的一些除錯任務。

  • 單步執行程式碼
  • 使用斷點
  • 在程式碼中後退或前進
  • 不單步執行每一行程式碼
  • 單步執行程式碼時查詢任何內容
  • 停止執行

這些只是您可能在VBA的除錯環境中執行的一些任務。

單步執行程式碼

除錯的第一步是在執行程式碼時單步執行程式碼。如果您知道程式碼的哪個部分可能導致缺陷,您可以跳轉到該程式碼行。否則,您可以逐行執行程式碼,在程式碼中後退或前進。

您可以從工作簿中的宏對話方塊或VBA編輯器本身單步執行程式碼。

從工作簿單步執行程式碼

要從工作簿單步執行程式碼,請執行以下操作:

  • 單擊功能區上的“檢視”選項卡。
  • 單擊“宏”。
  • 從下拉列表中選擇“檢視宏”。

將出現“宏”對話方塊。

  • 單擊宏名稱。
  • 單擊“單步執行”按鈕。
Step into

VBA編輯器將開啟,並且宏程式碼將顯示在程式碼視窗中。宏程式碼中的第一行將以黃色突出顯示。

Macro Code

從VBA編輯器單步執行程式碼

要從VBA編輯器單步執行程式碼,請執行以下操作:

  • 單擊功能區上的“開發工具”選項卡。
  • 單擊“Visual Basic”。VBA編輯器將開啟。
  • 單擊包含宏程式碼的模組。

宏程式碼將顯示在程式碼視窗中。

Stepping
  • 單擊功能區上的“除錯”選項卡。

  • 從下拉列表中選擇“單步執行”。

Dropdown

將突出顯示宏程式碼中的第一行。程式碼處於除錯模式,並且“除錯”下拉列表中的選項將處於活動狀態。

Active

在程式碼中後退或前進

您可以透過選擇“單步跳過”或“單步跳出”來在程式碼中向前或向後移動。

不單步執行每一行程式碼

如果您確定需要討論的程式碼的潛在部分,可以透過選擇“執行到游標”來避免單步執行每一行程式碼。

使用斷點

或者,您可以在程式碼的特定行設定斷點並執行程式碼,觀察每個斷點處的結果。您可以根據需要切換斷點和清除所有斷點。

使用監視

除錯時,您可以新增監視以評估表示式並在變數達到特定值時停止執行。這意味著您配置一個監視表示式,該表示式將被監視直到為真,然後宏將停止並使您進入中斷模式。VBA為您提供了多種監視型別可供選擇,以便完成您想要完成的任務。

停止執行

在除錯過程中,在任何時間點,如果您找到了出錯的原因,您可以停止執行以進一步解讀。

如果您是一位經驗豐富的開發者,除錯術語對您來說很熟悉,VBA編輯器除錯選項使您的工作更簡單。即使不是,如果您已經學習了VBA並理解了程式碼,那麼掌握這項技能也不會花費太多時間。

廣告