2016-02-18 49 views
2

在Excel VBA中,我想按下一個按鈕,運行一些代碼,並且在代碼運行時,出現一個窗體窗口,顯示「代碼正在運行,請等待,直到完成,點擊停止按鈕以終止代碼。如何在表單窗口打開時讓代碼在VBA中運行?

但是,每次我顯示錶單時,代碼都會停止,等待表單窗口關閉後再繼續。有沒有辦法強制代碼在表單窗口打開時繼續運行? 謝謝!

已回答:添加(False)結束時。將窗體的ShowModal屬性顯示或更改爲False。然後在fmRunning.Show(False)之後添加Application.Wait(Now + TimeValue(「0:00:01」))。或者插入「DoEvents」而不是Application.Wait 謝謝大家!

+3

不顯示窗體而顯示窗體'UserForm1.Show(False)' – Ralph

+0

感謝您的建議,但是當我這樣做時窗體顯示爲空白且無響應。還有什麼我需要做的嗎? – Steven

+1

嘗試在調用用戶窗體後放置一個'DoEvents'。 –

回答

3

您需要將用戶窗體設置爲無模式。這可以通過兩種方式:

  • 通過選擇用戶窗體和改變ShowModal屬性爲False
  • 或通過用(vbModeless)模態屬性設置爲0打開窗體
Userform.Show vbModeless 

有關更多信息,請參閱MSDN

+1

感謝您的建議,但是當我做任何一個表單顯示空白和無響應。還有什麼我需要做的嗎? – Steven

相關問題