Ausführung Makro beschleunigen
06.03.2020 15:28:19
Enno123
Ich habe mit meinen Kenntnissen zwar erreicht, was ich inhaltlich möchte. Nun stelle ich aber fest, dass das Makro in dieser Form bei der Ausführung merklich länger Zeit in Anspruch nimmt als ich mir erhofft habe.
Kann mir jemand einen Tipp geben, wie ich den fett markierten Teil von meinem Code - ich vermute, dort liegt der Hund irgendwie begraben - eventuell umbauen kann, um die Ausführung zu beschleunigen? Ich komme da alleine leider nicht weiter.
Vielen Dank
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim wbZiel As Workbook, wbQuelle As Workbook
Set wbZiel = ThisWorkbook
Dim strPfadQuelle As String
strPfadQuelle = "C:\Users\xyz\Desktop\TESTfiles Excel VBA\Testfile.xlsx"
Dim wsZiel As String, wsQuelle As String
wsZiel = "Projekte"
wbZiel.Sheets(wsZiel).Unprotect Password:="XYZ"
Workbooks.Open (strPfadQuelle)
Set wbQuelle = ActiveWorkbook
wsQuelle = "Name"
wbQuelle.Sheets(wsQuelle).Range("B8:BP521").AutoFilter
wbQuelle.Sheets(wsQuelle).Range("B8:BP521").AutoFilter 2, "1"
wbZiel.Sheets(wsZiel).Range("B58:BF" & Rows.Count).ClearContents
wbQuelle.Sheets(wsQuelle).Range("B10:B" & Rows.Count).Copy
wbZiel.Sheets(wsZiel).Range("B58").PasteSpecial Paste:=xlPasteValues
wbQuelle.Sheets(wsQuelle).Range("C10:C" & Rows.Count).Copy
wbZiel.Sheets(wsZiel).Range("C58").PasteSpecial Paste:=xlPasteValues
wbQuelle.Sheets(wsQuelle).Range("N10:BN" & Rows.Count).Copy
wbZiel.Sheets(wsZiel).Range("F58").PasteSpecial Paste:=xlPasteValues
Application.DisplayAlerts = False
wbQuelle.Close SaveChanges:=False
wbZiel.Sheets(wsZiel).Range("a56").Value = "letzte Änderung: " & Now
wbZiel.Save
Application.ScreenUpdating = True
Application.DisplayAlerts = True
wbZiel.Sheets(wsZiel).Protect Password:="XYZ"
End Sub