Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sub Workbook Open for each sheet

Sub Workbook Open for each sheet
31.03.2022 10:25:12
Robin
Moin zusammen,
hab das unten angegebene Makro laufen und bin eigentlich zufrieden damit.
Jetzt hab ich in einem Forum gesehen, dass man den Befehl nicht für jedes einzelne Blatt ausführen lassen muss, sondern, dass man das ganze mit dem Befehl "for each sheet in Active.Workbook" etwas eleganter und interaktiver gestalten kann. Aktuell müssen nämlich immer mindestens 6 Sheets vorhanden sein, damit ich keine Fehlermeldung bekomme.
UND: ab sofort soll bitte ein Passwort für den Blattschutz erforderlich sein, weiß nicht wie ich das integriere ....
so ists aktuell:

Sub Workbook_Open()
Sheets(1).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(1).EnableOutlining = True
Sheets(2).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(2).EnableOutlining = True
Sheets(3).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(3).EnableOutlining = True
Sheets(4).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(4).EnableOutlining = True
Sheets(5).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(5).EnableOutlining = True
Sheets(6).Protect userinterfaceonly:=True, AllowFormattingRows:=True
Sheets(6).EnableOutlining = True
End Sub

so könnte es aussehen, läuft aber nicht:

Sub Workbook_Open()
For Each Sheet In Active.Workbook.Worksheets
Sheet.Protect, Passwort="12345"
Sheet.AllowFormattingRows
Sheet.EnableOutlining
Next Sheet
End Sub
Vielen Dank für Eure Hilfe!
Grüße Robin
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sub Workbook Open for each sheet
31.03.2022 10:31:33
Nepumuk
Hallo Robin,
so:

Private Sub Workbook_Open()
Dim objWorksheet As Worksheet
For Each objWorksheet In Worksheets
With objWorksheet
Call .Protect(Password:="12345", AllowFormattingRows:=True)
.EnableOutlining = True
End With
Next
End Sub
Gruß
Nepumuk
Anzeige
AW: Sub Workbook Open for each sheet
31.03.2022 10:33:03
peterk
Hallo

ActiveWorkbook.Worksheets statt Active.Workbook.Worksheets
ohne Punkt!
Peter
AW: Sub Workbook Open for each sheet
31.03.2022 10:44:55
Lembrandt
Hallo Nepumuk, hallo Peter,
vielen Dank für eure schnellen Antworten.
@Peter: funktioniert leider trotzdem nicht.
@Nepumuk: schöne Lösung! funktioniert bis auf das Gruppieren (Outlining) ... ich möchte dem Benutzer trotz Blattschutz ermöglichen Zeilen zu gruppieren. Mit meiner ursprünglichen Variante ging das, jetzt will Excel beim Gruppieren immer das Passwort haben. Gibt es dafür noch eine alternative Lösung?
Vielen Dank!
Anzeige
AW: Sub Workbook Open for each sheet
31.03.2022 11:43:14
Nepumuk
Hallo Robin,
Ooooooooops da habe ich etwas übersehen. So geht es:

Call .Protect(Password:="12345", UserInterfaceOnly:=True, AllowFormattingRows:=True)
Gruß
Nepumuk
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige