Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1876to1880
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

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

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
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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige