我需要一些建議。 我的代碼檢查工作表「總計」中的單元格「E」與工作表「列表」中的單元格「B」,如果值相等,則讀取工作表「列表」中的單元格「A」(其中包含我的所有表單),並將匹配行復制到正確的表單中。Vba Excel - 如果value = value過濾並複製corect表 - 加快
我的腳本很有效,但速度很慢。你對如何加快這個過程有什麼建議嗎?
目前腳本讀取和逐行復制,我認爲通過應用自動過濾器加速過程,但不知道從哪裏開始... 在此先感謝。
這是我的真實腳本:
Sub copystatus()
Dim LR As Long
Dim LC As Integer
Dim LB As Long
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim cLista As String
Set ws = ThisWorkbook.sheets("totale")
Set ws2 = ThisWorkbook.sheets("liste")
LR = ws.Cells(Rows.Count, 5).End(xlUp).Row
LC = ws2.Cells(Rows.Count, 2).End(xlUp).Row
With ws
For x = 2 To LR
For i = 2 To LC
If .Cells(x, 5).value = ws2.Cells(i, 2).value Then
cLista = ws2.Cells(i, 1).value
Set ws3 = ThisWorkbook.sheets(cLista)
On Error GoTo ErrorHandler
LB = ws3.Cells(Rows.Count, 1).End(xlUp).Row
ws3.Rows(LB + 1).value = .Rows(x).value
ws3.Rows(1).value = .Rows(1).value
End If
Next i
Next x
End With
ErrorHandler:
End Sub
我申請你建議的修改,但不幸的是我沒有看到執行速度有任何改善。 謝謝。 – Rufi0
您是否複製我的代碼?速度絕對沒有提高? – Vityata
@ Ruif0禁用屏幕更新應該可以加快速度。 您在每個工作表中有多少條記錄(LR和LC的值)? – Pav