365 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich bin ein absoluter Anfänger was VBA angeht und habe bereits mehrere Std mit googlen und probieren verbracht. Es erschließt sich mir einfach nicht die Lösung. Daher erbitte ich hier um H I L F E


Folgende Situation:

zwei Tabellenblätter für die beide das gleiche Makro ausgeführt werden soll.
Folgendes soll das Makro tun:


1. Öffnen und schließen der Gruppierungen möglich machen, trotz Blattschutz

2. Zellen formatieren (bspw. einfärben) möglich machen, trotz Blattschutz (funktioniert trotz gesetztem Haken in "Blattschutz" nicht)

3. Fehlermeldung unterdrücken, die erscheint, wenn man etwas in eine geschützte Zelle schreiben möchte.



Punkt 1 --> funktioniert nur auf Tabellenblatt 1
Punkt 2 --> noch kein Makro programmiert --> Ideen erwünscht :-)
Punkt 3--> Funktioniert auf beiden Tabellenblättern.



Und so sieht das Makro aus:

Sub Workbook_Open()
Sheets(1).Protect userinterfaceonly:=True
Sheets(1).EnableOutlining = True 'für Gliederung
Sheets(1).EnableAutoFilter = True 'für Autofilter
ActiveSheet.EnableSelection = xlUnlockedCells

End Sub


Falls jemand Ideen hat, freue ich mich auf eure Antwort.
Vielen Dank und Gruss
Verena

4 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Verena,

versuch mal das folgende Makro:

Private Sub Workbook_Open()

'1. Arbeitsblatt in Mappe
With Worksheets(1)
.Protect UserInterfaceOnly:=True, AllowFormattingCells:=True 'Schutz, Formatierungen erlaubt
.EnableOutlining = True 'Gliederung erlaubt
.EnableAutoFilter = True 'Autofilter
.EnableSelection = xlUnlockedCells 'nur nicht gesperrte Zellen auswählen
End With

'2. Arbeitsblatt in Mappe
With Worksheets(2)
.Protect UserInterfaceOnly:=True, AllowFormattingCells:=True
.EnableOutlining = True
.EnableAutoFilter = True
.EnableSelection = xlUnlockedCells
End With

End Sub


Damit werden das 1. und 2. Arbeitsblatt in der Mappe angesprochen.
Du kannst auch die Namen der Arbeitsblätter angeben. Dann musst du statt
Worksheets(1)
Worksheets("Tabelle1")

schreiben.

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo M.O.

vielen Dank für deine Nachricht.

Leider hat es zu keiner Veränderung geführt.
Es besteht das selbe Problem wie beschrieben. :-(
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Verena,

kannst du mal eine Beispieltabelle auf einen Hoster deiner Wahl (z.B. hier) hochladen und den Link dann posten, damit man sich mal deine Tabelle anschauen kann.

Bitte beachte, dass das gepostete Makro in das VBA-Projekt der Arbeitsmappe kopiert werden muss. Das Makro wird nur beim Öffnen der Arbeitsmappe ausgeführt.

Gruß

M.O.
0 Punkte
Beantwortet von
M.O. --> YOU MADE MY DAY!

Das war der entscheidende Hinweis = "in das VBA-Projekt der Arbeitsmappe kopieren"

Vielen Dank. Ich bin sehr happy :-)

Gruß

Verena
...