返回列表 上一主題 發帖

[發問] 多維矩陣內擇取其中一維的陣列資料元素

回復 3# Scott090 GBKEE
分享一下個人經驗,陣列小的話,application.index很方便
但是大一點的陣列,這個函數的效率就很差(越大越明顯),
如果是重視執行時間的情況下,就盡量還是用迴圈去取會快很多。
  1. Sub testForIndex()
  2.   Dim ar2d(1 To 200, 1 To 500)
  3.   Dim test1, test2
  4.   Dim i As Long, j As Long
  5.   Dim t
  6.   
  7.   t = Timer
  8.   ReDim test1(1 To UBound(ar2d, 2))
  9.   For i = 1 To UBound(ar2d) '等於跑兩百次
  10.     For j = 1 To UBound(ar2d, 2)
  11.       test1(j) = ar2d(i, j)
  12.     Next
  13.   Next
  14.   Debug.Print Timer - t   '約0.027343秒
  15.   
  16.   t = Timer
  17.   For i = 1 To UBound(ar2d) '等於跑兩百次
  18.     test2 = Application.index(ar2d, i)
  19.   Next
  20.   Debug.Print Timer - t   '約3.867188秒
  21. End Sub
複製代碼

TOP

        靜思自在 : 愛不是要求對方,而是要由自身的付出。
返回列表 上一主題