標題:
[發問]
執行速度差異
[打印本頁]
作者:
li_hsien
時間:
2014-2-14 07:56
標題:
執行速度差異
請問各位大大
我最近常把函數加入VBA語法中
目前我做法有兩種寫法
1. Range("B2").FormulaR1C1 =...... 這種做法(主要是用錄製巨集學來的 哈哈)
2. Application.VLookup(.....)
第1種好像就跟直接在工作表操作函數一樣,會有公式存在
第2種結果是一樣,但直接是值吧?
(我用方法1碰上大筆資料,會只做第一個儲存格,再用filldown的方式下拉。方法2我是會用FOR迴圈由上往下跑)
不知以上這兩種方式哪個比較快速,適合大筆資料使用
EX:
Formula的做法(先用第一欄,再FillDown)
Range("I2").FormulaR1C1 = "=VLOOKUP(LEFT(RC[-5],2),other!C[1]:C[2],2,0)"
Range("I2:I" & material_rows).FillDown
Application的做法(用For迴圈一個個跑)
Application.VLookup(.Range("E" & i), Workbooks(fs).Worksheets(1).Range("E:AE"), 27, 0)
還是另有其他方式可以操作
謝謝 : )
作者:
GBKEE
時間:
2014-2-14 08:56
回復
1#
li_hsien
Sub Ex()
With ActiveSheet.[C:C] 'C欄
.Cells = "=RC[-2]+RC[-1]" '=A欄+B欄 的公式
'.Cells = .Value '公式轉成值
'公式轉成值 優點:存檔時減少記憶體
'公式轉成值 缺點:公式參照的儲存格有改變無法立即更新
End With
End Sub
複製代碼
作者:
li_hsien
時間:
2014-2-14 21:24
回復
2#
GBKEE
照版大的意思是指
用值的方式程式執行時會比較快速嗎???
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)