1
我不知道這樣做:VBA For循環性能
For a = Start_row To Sheet1.UsedRange.Rows.Count Step 1
將意味着在每次執行檢查For
循環條件,它必須重新計算Sheet1.UsedRange.Rows.Count
聲明。也許它是第一次存儲在內存中?
我不知道這樣做:VBA For循環性能
For a = Start_row To Sheet1.UsedRange.Rows.Count Step 1
將意味着在每次執行檢查For
循環條件,它必須重新計算Sheet1.UsedRange.Rows.Count
聲明。也許它是第一次存儲在內存中?
不,For
循環的結尾僅在開始時評估。
此外,要注意的是,UsedRange
:
我不會遍歷無論如何,任何範圍。獲取工作表數據的副本到一個數組中並使用它。這可能會更快。 – pintxo
否,它將基於第一個循環保持靜態。如果計數第一次返回300,它將始終爲300,直到For循環在start_row處結束。 –
好的,謝謝Scott。很有幫助。 pinxto:不錯的workarround也。 –