我是VBA的新手,我現在正在開發一個速度絕對是一切的項目。所以,在我寫的代碼,我注意到有很多工作表中的單元的命名範圍和功能明確引用這樣的:excel性能使用範圍
function a()
if range("x") > range("y") then
end if
... (just imagine a lot of named ranges)
end function
我的問題是,我應該修改這些功能,使這些命名範圍中的值作爲參數傳入,如下所示:
'i can pass in the correct cells when i call the function
function a(x as int, y as int)
if x > y then
end if
...
end function
這會加速一點點嗎?這些功能幾乎不斷地被調用(除非有意將該過程置於睡眠狀態)與RTD服務器進行通信。
不完全是這樣,但是如果您可以將所有範圍加載到數組中並在數組中進行比較可能會更快。數組處理肯定比遍歷範圍更快,但我不確定這是否適用於您的情況。 –
不,沒有範圍塊。它們基本上都是位於牀單上各處的單獨開關。那麼你是否建議使用參數是一種更好的方法? – user511792
我不是在暗示,而是其他不適用的東西。這聽起來像一個函數可以幫助組織這些事情到處都是,但它對速度沒有幫助。 –