[算表] UserForm.ShowModal會影響效能?

作者: foolkids (翼をください)   2019-01-11 10:42:11
軟體:Office Excel
版本:2010
寫了一個UserForm,在執行的時候是使用:Userform.Show False
這樣可以讓這個UserForm的ShowModal變成非強制回應
這樣寫的原因是我希望該介面跳出來的時候,使用者還是可以去點選Excel檔的工作表,
查找要輸入的資訊,並填在UserForm裡(有設計TextBox需要輸入儲存格欄位)
但是發現變成非強制回應的時候,執行運算比較慢,強制回應的時候就非常快。
(主要是取Dictionary進行兩個Dictionary的交叉比對,筆數大概是各2萬筆資料)
兩者的效率差異可能達20倍以上...
試著在執行主要的取值、比對前,先關掉UserForm,但是也無濟於事,
只有在一開始呼叫的時候就是指定為強制回應,才可以是正常速度...
請問有什麼方式可以改善嗎?
作者: soyoso (我是耀宗)   2019-01-11 11:25:00
不太清楚交叉比對的動作是什麼,模擬了二欄各3萬筆資料迴圈,判斷exists則add這樣的動作強制回應或非強制回應,執行秒數則是差不多https://youtu.be/xUz6xVlkMdw所以要看實際交叉比對的動作是什麼才能再模擬看看是否是該動作的影響或是其他可能了另外測試上textbox所輸入儲存格欄位(不太了解是什麼,儲存格位址字串?儲存格欄號?)也因不太清楚用途,所以僅輸入而無在巨集內使用

Links booklink

Contact Us: admin [ a t ] ucptt.com