Re: [算表] Excel VBA 儲存格遞增問題請教各位大大

作者: newacc (XD)   2017-09-27 12:53:02
→ soyoso: 改以range("d" & 3 + i)、cells(3+i,"d")或 09/27 11:05
→ soyoso: range("d2").offset(i) 09/27 11:06
想借文問一下
VBA在處理這三種寫法,在連續大量使用的狀況下,哪一種的效率比較高?
以我的猜測是range()、cells()會比range().offset()來得快
因為後者處理完range()後還要再多跑一個offset()才抓得到目標,是嗎?
那如果在迴圈中設一個變數存格子,底下兩種何者效率較高?
Dim tmpCell as Range
For i = 1 to 1000
Set tmpCell = Range("A" & i)
OperateTmpCell
Next i

Dim tmpCell as Range
Set tmpCell = Range("A1")
For i = 1 to 999
OperateTmpCell
Set tmpCell = tmpCell.Offset(1)
Next i
請教各路VBA大神
作者: soyoso (我是耀宗)   2016-09-27 11:05:00
改以range("d" & 3 + i)、cells(3+i,"d")或range("d2").offset(i)測試上可前後所取得的timer相減,看看那種執行期間的時間最短

Links booklink

Contact Us: admin [ a t ] ucptt.com