ich habe hier ein paar makros die beim starten des Excel Files alle in der Arbeitsmappe
hinterlegt sind und funktionieren, nun wollte ich fragen ob man sie ein wenig verändern bzw. optimieren kann, da ich merke das es beim starten des Excel Files diese teilweise ruckelt bzw. etwas langsam abläuft.
Vielleicht ist es auch möglich in bestimmten Tabellen (REchnungen, Mahnungen, Kunden) immer beim starten
in einer gewissen Zelle den Inhalt herauszulöschen und den Scrollbereich festzulegen
sodass dieser immer auf den Anfang der Excel Liste springt.
Option Explicit
Private Sub Workbook_Activate()
Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", False)"
Application.DisplayFormulaBar = False
End Sub
Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", True)"
Application.DisplayFormulaBar = True
End Sub
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="123"
Sheets("Rechnungen").Select
Range("C15:C15").ClearContents
Application.Goto Reference:=Worksheets("Rechnungen").Range("A15"), _
Scroll:=True
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
Call wks.Protect(Password:="123", UserInterfaceOnly:=True, DrawingObjects:=False, _
Contents:=True, Scenarios:=True, AllowFiltering:=True)
Next
Worksheets("Rechnungen").ScrollArea = "$A$1:$AQ$450"
Worksheets("Mahnungen").ScrollArea = "$A$1:$AQ$120"
Worksheets("Kunden").ScrollArea = "$A$1:$X$147"
Worksheets("Daten").ScrollArea = "$A$1:$AQ$250"
Worksheets("Mitarbeiter").ScrollArea = "$A$1:$AQ$124"
If TypeOf ActiveSheet Is Worksheet Then _
Call Workbook_SheetActivate(ActiveSheet)
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveWindow.DisplayHeadings = False
Select Case Sh.Name
Case "Rechnungen", "Mahnungen", "Kunden",
ActiveWindow.zoom = 60
Cells(6, 2).Activate
Case "Daten",
ActiveWindow.zoom = 63
Cells(6, 2).Activate
Case "Mitarbeiter"
ActiveWindow.zoom = 62
Cells(6, 2).Activate
End Select
End Sub
Anbei noch das Makro wo ich getestet