2015-11-03 60 views
0

正如我敢打賭,我可以告訴我的Excel 2013宏發生了以下內容:的DoubleClick在我的窗體捕獲

  1. 子WorkSheet_BeforeDoubleClick被調用形式
  2. 一些邏輯填充和顯示形式
  3. 的雙擊事件被表單捕獲爲列表框中的不需要的選擇

是否有正確的方法來抑制子例程中的雙擊?我有想法解決它(睡覺線程工作,重新定位表單作品,基於其他事件鎖定和解鎖列表框)這些都是可憐的解決方法,我希望有一個內置的解決方案,我只是沒有意識到。

(並設置取消=真不工作,因爲我相信,設置只踢一旦代碼運行完畢,雙擊後成爲子程序的中間選擇)

+0

我不確定你的意思,當你雙擊一個單元格會發生什麼?以及你想要發生什麼或不想發生什麼? – Davesexcel

回答

0

如果問題是形式您正在從宏啓動捕捉相同的雙擊事件請嘗試以下操作:

1)讓您的宏通過'Application.OnTime()'調用一個新的子例程,以便將其運行足夠長的時間以便將來運行通過'物理點擊',也許1秒。而不是直接調用Form.Show(),就像你現在正在做的那樣。

2)你的新子程序只需要做:Form.Show(),以及其他你認爲必要的。

+0

沒有。 EnableEvents會抑制BeforeDoubleClick宏本身,我試圖忽略由BeforeDoubleClick調用的宏內的物理點擊 – lieutenantmudd

+0

所以,我不確定我是否遵循,如果我錯了,請糾正我: 1)您雙擊,宏觸發 2)宏啓動表格 3)表單也捕獲同樣的雙擊並打破 這是正確的嗎? –

+0

是的。雖然休息有點強烈,但無意中選擇了我的UserForm上的一個項目 – lieutenantmudd

相關問題