Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code zu langsam / Verbesserungsvorschläge gesucht!
#1
Hallo zusammen,

ich habe einen Code in VBA geschrieben, der je beim Öffnen der Datei durchgeführt wird und obwohl er eigentlich sehr simple ist braucht die Datei eeeewig zum Öffnen.

Kann mir jemand dabei helfen den Code etwas schlanker zu gestalten? Ich weiß z.B. dass auf die Select-Anweisungen verzichtet werden kann, bei der Umsetzung hapert es aber noch.

Hier der Code:


Code:
Private Sub Workbook_Open()
'Ggf. gesetzte Filter in den Reitern "Parameteroptimierung" wird entfernt
'Der Zoom für den Reiter "Parameteroptimierung" wird auf 95% eingestellt
Sheets("Parameteroptimierung").Visible = True
 Sheets("Parameteroptimierung").Select
 With ActiveWorkbook.ActiveSheet
            If .FilterMode Then
                .ShowAllData
            End If
            End With
ActiveWindow.Zoom = 95
Sheets("Parameteroptimierung").Visible = False
 
'Ggf. gesetzte Filter in den Reitern "Bestände" wird entfernt
'Der Zoom für den Reiter "Bestände" wird auf 95% eingestellt
Sheets("Bestände").Visible = True
Sheets("Bestände").Select
 With ActiveWorkbook.ActiveSheet
            If .FilterMode Then
                .ShowAllData
            End If
            End With
ActiveWindow.Zoom = 95
 
'Alle Reiter außer Start werden ausgeblendet
 
Sheets("Bestände").Visible = False
Sheets("Disponenten").Visible = False
Sheets("Kommentar Abweichung").Visible = False
Sheets("Arbeitsfortschritte 2019").Visible = False
Sheets("Übersicht Überbestände&VLZ").Visible = False
Sheets("Dispomatrix").Visible = False
Sheets("Datenbasis_Arbeitsfortschritte").Visible = False
 
'Der Reiter "Start" wird aufgerufen und der Zoom auf 95% eingestellt. Zudem wird in Zeile 1 hochgescrollt.
 
    Sheets("Start").Select
    ActiveWindow.ScrollRow = 1
    ActiveWindow.Zoom = 95
   
End Sub

 

Vielen Dank und Grüße
Rob
Antworten Top
#2
Hi

Die Zeilen könnten da evtl. schon helfen.

Code:
Private Sub
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlManual
    
Dein Code
    
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

Gru Elex
Antworten Top
#3
Verzichte in VBA immer auf 'Select' und 'Activate'.

Statt in workbook_Open, verwende:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.FilterMode Then Sh.ShowAllData
End Sub

Diese Einszeiler:

Code:
Sheets(Array("Bestände", "Disponenten", "Kommentar Abweichung", "Arbeitsfortschritte 2019", "Übersicht Überbestände&VLZ", "Dispomatrix", "Datenbasis_Arbeitsfortschritte")).Visible = False
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Ich teste mal aus, danke schonmal :)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste