返回列表 上一主題 發帖

[發問] 求高手指點,為何共用簿後,VBA的運行速度會減慢?

回復 4# leehom


    修改程式碼,只能快一點點,網路問題,和上面說的一樣
  1. Public Sub Search()
  2.     t = Timer
  3.     Application.ScreenUpdating = False
  4.     Dim b As Range
  5.     A = Sheets(1).[a1]
  6.     With Sheets(2)
  7.         Set b = .Columns(1).Find(A, , , 1, , 2)
  8.         Sheets(1).Range("A3:H3") = .Range(.Cells(b.Row, "A"), .Cells(b.Row, "H"))
  9.     End With
  10.     Application.ScreenUpdating = True
  11.     MsgBox Format(Timer - t, "0.0000")
  12. End Sub
複製代碼

TOP

回復 7# leehom

剛認真的看了一下,執行共用你原本的程式碼,共用後,確實慢很多
    你再試看看
  1. Public Sub exA()
  2.     t = Timer
  3.     Application.ScreenUpdating = False
  4.     Dim b As Range
  5.     A = Sheets("工作表1").[a1]
  6.     If Range("A3") <> "" Then
  7.         Sheets(1).Range("a3:h3").Clear
  8.     End If
  9.     With Sheets("工作表2")
  10.         Set b = .Columns(1).Find(A, , , 1, , 2)
  11.         arr = .Range(.Cells(b.Row, "A"), .Cells(b.Row, "H"))
  12.         Sheets("工作表1").Range("A3:H3") = arr
  13.     End With
  14.     Application.ScreenUpdating = True
  15.     MsgBox Format(Timer - t, "0.0000")
  16. End Sub
複製代碼

TOP

        靜思自在 : 待人退一步,愛人寬一寸,就會活得很快樂。
返回列表 上一主題