返回列表 上一主題 發帖

[發問] (己解決!) 想請教各位,那一種寫法比較快一點? (想優化一下)

幾萬行應該用陣列方式
  1. Private Sub CommandButton1_Click()
  2. Dim j&, n&, d, t, ai, arr
  3. tm = Timer
  4.    With Sheets("Status B Log")
  5.    n = .Range("d65536").End(xlUp).Row
  6.    d = .Range("d6:d" & n)
  7.    t = .Range("t6:t" & n)
  8.    ai = .Range("ai6:ai" & n)
  9.    ReDim arr(1 To UBound(d), 0)
  10.     For j = 1 To n - 6
  11.         If d(j, 1) <> "" Then
  12.           arr(j, 0) = Application.WorksheetFunction.Round(t(j, 1) - ai(j, 1), 2)
  13.         End If
  14.     Next j
  15.     .Cells(6, "AN").Resize(UBound(d), 1) = arr
  16.     End With
  17.         ThisWorkbook.Save
  18.         MsgBox (" Quoted vs Invoice ( Variance ) - OK !") & "用時" & Timer - tm & "秒"
  19. End Sub
複製代碼

TOP

呵呵!些微的差距倒是不必去計較
只是提供個人的思考方向供樓主參考。

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題