- 帖子
- 1018
- 主題
- 15
- 精華
- 0
- 積分
- 1058
- 點名
- 0
- 作業系統
- win7 32bit
- 軟體版本
- Office 2016 64-bit
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2012-5-9
- 最後登錄
- 2022-9-28
|
回復 3# Scott090 GBKEE
分享一下個人經驗,陣列小的話,application.index很方便
但是大一點的陣列,這個函數的效率就很差(越大越明顯),
如果是重視執行時間的情況下,就盡量還是用迴圈去取會快很多。- Sub testForIndex()
- Dim ar2d(1 To 200, 1 To 500)
- Dim test1, test2
- Dim i As Long, j As Long
- Dim t
-
- t = Timer
- ReDim test1(1 To UBound(ar2d, 2))
- For i = 1 To UBound(ar2d) '等於跑兩百次
- For j = 1 To UBound(ar2d, 2)
- test1(j) = ar2d(i, j)
- Next
- Next
- Debug.Print Timer - t '約0.027343秒
-
- t = Timer
- For i = 1 To UBound(ar2d) '等於跑兩百次
- test2 = Application.index(ar2d, i)
- Next
- Debug.Print Timer - t '約3.867188秒
- End Sub
複製代碼 |
|