我第一次使用VBA。直到現在,我成功地建立了一個模型。但是,我仍然想加快計算(我已經關閉了ScreenUpdating,EnableEvents,xlCalculationAutomatic,DisplayPageBreaks)。我已經在互聯網上看到,for-loops非常耗時。不幸的是,我真的有很多。因此,我的問題:VBA Excel避免與可變列循環
假設我有這種類型的代碼:
For p = 1 To Periods
Demand(p) = Worksheets("Sheet1").Cells(3, 1 + p)
Next p
我的第一個問題:這是否爲環真正減慢運行時間?第二個問題:我如何重寫它,從而加速計算?
我一直在嘗試以下操作:
Demand = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(3, 2), Worksheets("Sheet1").Cells(3, 1 + Periods))
但不幸的是,這似乎並沒有工作。我已經Google了這個,但我似乎沒有找到答案。
非常感謝您的幫助!
非常感謝您的幫助。快速變化已經是一個巨大的改進。但是,我嘗試單一呼叫時遇到一些問題。我得到這個錯誤:「運行時錯誤'13':類型不匹配」。你有什麼想法可能出錯的地方? – Ann 2015-02-12 14:00:25
您需要發佈更多的代碼。 – 2015-02-12 14:21:21
你是在聲明'Demand'嗎?像'昏暗的需求(1到期)'?如果是這樣,請嘗試刪除類型聲明「Dim Demand」或明確將其變爲「Variant」:Dim Demand As Variant。否則,正如已經指出的那樣,我們需要看到更多的代碼,特別是導致問題行發生的情況。 – 2015-02-12 14:42:44