所以我已經看到所有的方法來隱藏在Excel中屏幕更新,我正在尋找的是一個數據問題,所以我想看到屏幕更新。有沒有一種方法可以在宏期間緩慢更新屏幕代碼?我試過如下:顯示宏執行的更新
'//////添加屏幕刷新看發生了什麼事 Application.ScreenUpdating =真 Application.Wait現在+ TIMEVALUE( 「00:00:01」) '/ ////
和所有我得到的是屏幕閃爍。
謝謝你對我優秀。
所以我已經看到所有的方法來隱藏在Excel中屏幕更新,我正在尋找的是一個數據問題,所以我想看到屏幕更新。有沒有一種方法可以在宏期間緩慢更新屏幕代碼?我試過如下:顯示宏執行的更新
'//////添加屏幕刷新看發生了什麼事 Application.ScreenUpdating =真 Application.Wait現在+ TIMEVALUE( 「00:00:01」) '/ ////
和所有我得到的是屏幕閃爍。
謝謝你對我優秀。
你所追求的是更好的調試錯誤的方法。 ScreenUpdating
應用程序的屬性不是你想要的:)
相反,在您懷疑發生錯誤的位置或之前,使用F9在您的代碼中設置斷點。如果有必要,你可以把它放在你的第一行代碼中(如果你真的不知道錯誤發生在哪裏)。
這裏是一個斷點,它的紅色/栗色突出顯示的行:
然後,使用F8鍵,可以通過行的代碼行步驟。
您可以根據需要添加儘可能多的斷點。按F5將只執行代碼直到下一個斷點,然後您將不得不按F8或F5繼續執行。
一些額外的東西來幫助你調試
使用本地窗口。
這說明你在範圍vairables,您可以點擊它們以查看其屬性的/ etc。正如你所看到的,我在一個相當複雜的應用程序中有一大堆變量。我發現immeidates窗口對於Object
變量和數組非常有幫助。這裏是什麼樣子,當我展開一個數組變量,這樣我就可以看到它的所有內容:
使用即時窗口查詢變量或執行的代碼之外的語句,這相當於Debug.Print
聲明。例如,讓我們來檢查一下,如果一些變量的值是「9」,您可以:
?someVar = 9
,然後按回車鍵。它會告訴你真或假。您可以直接通過?someVar
查詢該值,並打印該值。
在這個截圖中,我檢查一個布爾值,它顯示我的價值是False
。我也可以在本地窗口中驗證這一點。
感謝@DavidZemens,它發生了我真正想要的是針對這種特殊情況的Debug.Print。 – SQLHound 2013-05-13 20:04:03
乾杯。當我自學VBA時,我希望有人告訴我這些事情。會爲我節省很多麻煩:) – 2013-05-13 21:05:23
屏幕更新只能在代碼開始時設置一次。 但是您需要將其放入循環中,或者在代碼行之間傳播。
在調試器中使用'F8'逐步執行代碼。您可以按照這種方式逐字逐句地瀏覽它。乾杯。 – 2013-05-13 19:37:01
嗯,不明白爲什麼你想這樣做。如果你有問題,爲什麼不用斷點來調試? – 2013-05-13 19:37:15
另外,使用'Locals'窗口或添加手錶,以便您可以監視您的變量所保存的值,並且'Immediate'窗口也可以幫助調試。 – 2013-05-13 19:38:56