Anzeige
Archiv - Navigation
1228to1232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Private Sub Workbook_Open() optimieren

VBA Private Sub Workbook_Open() optimieren
Matz
Hallo zusammen
ich habe mir hier im Forum aus mehreren VBA Fragementen etwas zusammengebastelt.
Es funktioniert zwar, ich bin mir aber sicher, dass das ganze nicht optimal gebaut ist:
Option Explicit

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.DisplayFullScreen = True
Application.DisplayFormulaBar = False
Application.CalculateBeforeSave = False
Dim wb As Workbook, ws As Worksheet
Set wb = ThisWorkbook
For Each ws In wb.Worksheets
If ws.Type = xlWorksheet Then
If ws.ProtectContents Then
ws.Unprotect Password:=""
End If
ws.Protect Password:="", _
Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True
End If
Next ws
Set ws = Nothing
Set wb = Nothing
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Call SetCommandbar
Application.CalculateBeforeSave = False
End Sub

Was der Code eigentlich machen soll:
- Beim Öffnen der Arbeitsmappe, sollen alle Tabellenblätter geschützt werden, ich möchte aber Makros noch laufen lassen können.
- Alle Symbolleisten, Gitternetzlinien, Überschriften usw. sollen verschwinden und ich möchte im Vollbild arbeiten.
- Die Berechnung soll auf manuell geschaltet werden, so dass vom ersten Moment an nur gerechnet wird, wenn ich das manuell ausführe.
- Auch beim schliessen ,soll die Tabelle nicht automatisch neu berechnet werden.
- Ich möchte nicht sehen, was beim Makroausführen (oder auch beim Blattschützen) alles im Hintergrund passiert, also "Screenupdating" ausschalten.
Es wäre superlieb, wenn sich einer von Euch Cracks den Code mal anschauen würde und mir zeigen würde, was ich richtig habe, was falsch ist und wie es besser sein würde.
Vielen Dank
Viele Grüsse
Matz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Private Sub Workbook_Open() optimieren
14.09.2011 16:04:15
Rudi
Hallo,

Private Sub Workbook_Open()
Dim ws As Worksheet
With Application
.ScreenUpdating = False
.Calculation = xlManual
.DisplayFullScreen = True
.DisplayFormulaBar = False
.CalculateBeforeSave = False
End With
For Each ws In Me.Worksheets
ws.Protect Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True
Next ws
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
End With
Call SetCommandbar
End Sub

Aber zumindest was die Application betrifft, solltest du beim Schließen der Mappe wieder zurücksetzen. Sonst gilt das für alle Mappen.
Gruß
Rudi
Anzeige
Perfekt, vielen Dank Rudi!
15.09.2011 17:12:25
Matz
Gruss
Matz

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige