返回列表 上一主題 發帖

[發問] 請問有辦法加快VBA執行的速度嗎?

回復 1# m077
沒上傳 ... 自己試試行否
  1. Sub Test()
  2. Application.ScreenUpdating = False
  3. Application.EnableEvents = False

  4. Dim r As Long, i As Long
  5. Dim ar, rngCopy As Range

  6. With Workbooks("vbtest.xls")
  7.     With .Sheets("sheet1")
  8.         r = .Cells(.Rows.Count, "G").End(xlUp).Row
  9.         ar = Application.Transpose(.Range(.Cells(1, 30), .Cells(r, 30)).Value)
  10.         
  11.         For i = 2 To r
  12.             If ar(i) = "C2A4TST1" Then
  13.                 If rngCopy Is Nothing Then Set rngCopy = .Rows(i) Else Set rngCopy = Union(rngCopy, .Rows(i))
  14.             End If
  15.         Next
  16.         
  17.         .Select
  18.         rngCopy.Copy .Sheets("sheet2").Range("A" & .Rows.Count).End(xlUp).Offset(1)
  19.         .Sheets("sheet2").Select
  20.     End With
  21. End With

  22. Set rngCopy = Nothing
  23. Application.EnableEvents = True
  24. Application.ScreenUpdating = True
  25. End Sub
複製代碼

TOP

回復 6# m077
看到圖片了..
逐筆匯出應該是更慢

你應該把條件列出來  看是進階篩選條件哪裡可改善
才能篩到你要的結果會比較好

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題