[VBA ] 如何強制顯示 Debug.Print?

看板Visual_Basic作者 (菜逼八)時間4年前 (2020/11/10 09:14), 編輯推噓2(2010)
留言12則, 4人參與, 4年前最新討論串1/1
各位高手,安安 最近本魯寫了一個簡單的 VBA 程式, 因為要判斷的東西比較多, 所以迴圈大約有4層, 為了確定迴圈目前進度, 我在最外層的迴圈中加了 Debug.Print, 來顯示迴圈中的資訊, 可是我發現只能顯示前幾次的 Debug.Print, 接下來 excel 就像當機一樣,但是實際上沒有當機, 等30~60min迴圈跑完就正常了, 即時視窗的東西也都會顯示出來。 所以我的問題是, 如何 強制即時視窗顯示內容, 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.68.97 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1604970870.A.ECD.html

11/10 10:52, 4年前 , 1F
難 你拉個textbox然後一直附加字串可能還比較有效
11/10 10:52, 1F

11/10 10:53, 4年前 , 2F
起碼那還可以用doevents逼他更新
11/10 10:53, 2F

11/11 14:40, 4年前 , 3F
寫到記事本,雖然要一直開記事本來看比較麻煩就是了
11/11 14:40, 3F

11/12 01:46, 4年前 , 4F
如果加個sleep或wait不知道有沒有幫助?
11/12 01:46, 4F

11/12 22:56, 4年前 , 5F
DoEvents 治百病...把執行權暫時還給Excel
11/12 22:56, 5F

11/12 22:56, 4年前 , 6F
Excel才有機會更新畫面
11/12 22:56, 6F

11/12 22:57, 4年前 , 7F
不然就是一直忙著你迴圈中的所有工作
11/12 22:57, 7F

11/12 22:57, 4年前 , 8F
沒時間顯示視窗的新內容
11/12 22:57, 8F

11/12 22:58, 4年前 , 9F
但要注意 DoEvents 的次數越多,迴圈執行時間就越長
11/12 22:58, 9F

11/12 22:59, 4年前 , 10F
可以另外用一個變數去接 Timer() 函數傳回值
11/12 22:59, 10F

11/12 22:59, 4年前 , 11F
判斷目前Timer值與上次值的差異
11/12 22:59, 11F

11/12 23:00, 4年前 , 12F
決定多久執行一次 DoEvents
11/12 23:00, 12F
文章代碼(AID): #1VgUbsxD (Visual_Basic)
文章代碼(AID): #1VgUbsxD (Visual_Basic)