6

我一直在使用本地窗口來檢查過程級別變量的分配。檢查Excel VBA中公共變量的值 - 本地窗口備選

我最近更新了我的代碼,以創建一組公共級變量,這些變量從工作表中讀取某些不會改變的工作表的輸入。

當試圖檢查這些變量時,我沒有在Locals窗口中看到它們,毫無疑問,因爲它們不是本地定義的變量!

是否有替代公共變量的本地窗口?如果不是,我該如何檢查公共變量賦值?

+0

嗨,你可以分享一些代碼?我試圖做你說的,但我仍然可以在本地窗口中看到公共變量(http://postimage.org/image/9dor72s0v/) – 2013-02-22 19:16:18

+0

讓我看看我能否在本週提供一些示例代碼。 – psychonomics 2013-02-24 12:31:32

+0

嗨保羅。我意識到這是幾周前,但我不是經常編碼!無論如何,我認爲你使用Dim可以在程序或模塊級別而不是全局級別聲明mytext。在我的代碼中,我使用Public來聲明我的全局變量。 – psychonomics 2013-03-08 15:38:21

回答

13

除了(如其他答案所述)立即窗口,監視窗口是在這種情況下非常有用。您可以在查看菜單激活 - >監視窗口enter image description here

在這裏,您可以定義:

  • 任何變量(例如,您的公共變量)
  • 全項,例如ActiveWorkbook.UsedRange.Address
  • 每個範圍看
  • 即使斷點時True價值的變化或結果 - 這是相當方便的調試時,因爲它可以讓你無需增加額外的代碼快速條件斷點,例如如果設置了手表myVar=0和積極休息的時候值爲True,代碼會自動停止存在的潛在問題是「開始」的那一刻

您可以將所有這些選項中的「添加表」對話框,您通過右鍵單擊代碼模塊中的任何變量(或其他代碼)獲得 - 或在監視窗口中右擊:

enter image description here

此外,你可以簡單地編輯任何表項目在列表中雙擊。

非常方便的調試工具,結合當地人立即窗口。

+0

謝謝。這周我會試試這個。 – psychonomics 2013-02-24 12:30:32

7

使用立即窗口。在您的編碼環境中按Ctrl + G即可轉到立即窗口。 它允許您在調試模式下獲取和設置變量的值。 你需要前綴?檢查變量的值。 例如

?variableName press enter to get the value 
variableName ="test" press enter to set the value 
+0

謝謝。這就說得通了。這周我會試一試。 – psychonomics 2013-02-24 12:34:10