返回列表 上一主題 發帖

函數會比VBA快嗎?

函數會比VBA快嗎?

我有一個檔案,內有"HB001~HB005","TOTAL"的分頁,我想在"TOTAL"的一頁中看到"HB001~HB005"的其中一行,我都用了VLOOKUP,但如果要用VBA寫的話會比快嗎?因為這檔案可能會加到30~50頁,如果我要Worksheet_Activate時運作,會比函數快嗎?
50 字節以內
不支持自定義 Discuz! 代碼

上傳附件~~ test.rar (31.66 KB)
50 字節以內
不支持自定義 Discuz! 代碼

TOP

你用vlookup函數,執行速度上不錯的
若數據量很大執行起來速度慢再討論吧。

TOP

樓主~ 函數與VBA的速度快慢應該不是主要的問題!!
             是否該更深層的思考~ 整個資料面的筆數及使用者使用的方式
             若它是一個制式的報表資料數量又很大~ 造成您在更新維護上有問題~
             可考慮用VBA的方式處理會比較好~
             若您的資料格式是不統一的~ 那只好用函數來處理比較快~
             總好比你辛苦設計出來~ 結果資料格式都不一樣~ 浪費你簡化的用心~
學習才能提升自己

TOP

謝謝兩位的意見,如果我要用VBA寫的話,可以給我點意見嗎?因為我本來想讓它在Worksheet_Activate時運行的,可是如果每次Worksheet_Activate都要跑一遍VlookUp / SpecialCells 的話可能會很久,我該如何設計呢?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

那就不要用事件呀,寫一般模組,須要時再去執行即可。

TOP

回復 5# am0251
這就是VBA取捨的重點所在
你既然考慮速度問題,那麼如果VBA中還是使用工作表函數來進行運算
那麼不管在怎麼快也不會比工作表中直接使用函數來的快
只是函數寫入儲存格中會造成自動重算的問題
如果這個因素,只須關閉選項中的自動重算項目即可改善
也就是說適時的重算
基本上要達到同樣目的,首先會考慮EXCEL基本功能操作,其次是函數,再來才考慮使用VBA
以上僅供參考
學海無涯_不恥下問

TOP

謝謝各高手的意見,可是,如果我用函數的話,當選擇資料格時可以只看到結果而看不到函數嗎?
50 字節以內
不支持自定義 Discuz! 代碼

TOP

謝謝各高手的意見,可是,如果我用函數的話,當選擇資料格時可以只看到結果而看不到函數嗎?
am0251 發表於 2011-7-7 17:14


這樣做的目的是.....?
不想給人知道寫法還是怕被人更改?

TOP

全中了,就是怕給人知道寫法,也怕被人不小心更改了
50 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 發脾氣是短暫的發瘋。
返回列表 上一主題