Forumthread: Exelberechtigung VBA in andere Arbeitblätter übernehmen
Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 01:19:54
Devil0401
Habe eine Anwesenheitsliste mit mehreren Mitarbeitern. Jeder kann aber nur seine Zellen bearbeiten. Da ich mehrere Arbeitsblätter habe Januar, Februar usw. habe ich bisher in jedem Arbeitsblatt die Berechtigungen zugewiesen. Gibt es eine Möglichkeit das ich das nur in einem Arbeitsblatt mache und es in die anderen Kopiere ?
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 04:23:52
Onur
Solange die gesperrten Zellen auf allen Blättern gleich bleiben, geht es einfach.
Du musst nur ein "Blankomonat" als Vorlage haben und kannst aus diesem Blatt, nachdem alle Berechtigungen gesetzt sind, alle anderen durch Kopieren und Umbenennen des ganzen Blattes generieren. Dafür sollte immer nur der Monatsanfang ein Datum (z.B.: 01.01.2024) haben und die Folgetage sollten per Formel mit +1 berechnet werden.
Alternativ:
Im "Workbook_SheetSelectionChange"-Event, je nach User, das Auswählen bestimmter Zellen einfach verhindern, indem stattdessen z.B. A1 ausgewählt wird. Wer nix auswählen kann, kann auch nix ändern. Dann brauchst du gar kein Blattschutz mehr und kommst nur mit einem einzigen Makro aus.
Hier ein Beispiel, wie es geht:
https://www.herber.de/bbs/user/173478.xlsm
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 04:36:16
devil0401
Da sind noch soviel andere Sachen mit drin das er z.b. Automatisch die Schulferien und so mit einbindet, Automatisch Feiertage und Wochenenden einträgt. Hatte mir das eigentlich mit VBA überlegt. Habe schon was Funktioniert aber noch nicht.
Sub KopiereBerechtigungen()
Dim ws As Worksheet
' Ein beliebiges Arbeitsblatt als Master nehmen
Set MasterArbeitsblatt = ThisWorkbook.Sheets("Januar")
For Each ws In ThisWorkbook.Worksheets
If ws.Name > MasterArbeitsblatt.Then
' Blattschutz und Berechtigungen wie im Masterblatt setzen
ws.Unprotect
ws.Protect AllowFormattingCells:=MasterArbeitsblatt.Protection.AllowFormattingCells, _
AllowFormattingColumns:=MasterArbeitsblatt.Protection.AllowFormattingColumns, _
AllowFormattingRows:=MasterArbeitsblatt.Protection.AllowFormattingRows, _
AllowInsertingColumns:=MasterArbeitsblatt.Protection.AllowInsertingColumns, _
AllowInsertingRows:=MasterArbeitsblatt.Protection.AllowInsertingRows, _
AllowDeletingColumns:=MasterArbeitsblatt.Protection.AllowDeletingColumns, _
AllowDeletingRows:=MasterArbeitsblatt.Protection.AllowDeletingRows, _
AllowSorting:=MasterArbeitsblatt.Protection.AllowSorting, _
AllowFiltering:=MasterArbeitsblatt.Protection.AllowFiltering, _
AllowUsingPivotTables:=MasterArbeitsblatt.Protection.AllowUsingPivotTables
End If
Next ws
End Sub
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:57:21
devil0401
Ja sorry jetzt habe ich es verstanden. Das heißt ich muss aber alle Benutzer im VBA einmal eintragen
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:58:41
Onur
Genau - den Usernamen und die jeweiligen Bereiche.
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
10.11.2024 00:02:52
devil0401
Alles klar vielen Dank für deine Mühe. Werde ich so machen, du kannst mir aber nicht sagen was ich bei mir im VBA falsch gemacht das es damit nicht funktioniert.
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
10.11.2024 00:05:20
Onur
Keine Ahnung, denn ich habe ja deine Datei nicht.
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 04:38:21
Onur
Und was willst du jetzt mir damit sagen?
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 04:43:17
devil0401
Das Problem ist das er die Berechtigungen wer welche Zellen bearbeiten darf aus dem Mastermonat "Januar" nicht in die andere Monate überträgt. Vielleicht kannst du mir sagen was falsch ist.
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 04:50:06
Onur
Sind die denn für Januar überhaupt schon gesetzt?
Und wieso bedankst du dich überhaupt, wenn du sowieso auf keines meiner Vorschläge eingehst?
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 05:02:24
devil0401
Sorry habe ausversehen darauf gedrückt. Ja habe im Januar alle berechtigungen ( wer welche Zellen bearbeiten darf ) gesetzt. und habe dann auch ein Blattschutz gemacht.
Danke für deine schnellen Rückantworten
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:02:48
devil0401
hat vielleicht wer noch eine andere alternative wie ich das über VBA machen kann
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:04:25
Onur
Das habe ich dir doch bereits geschrieben.
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:23:56
devil0401
Wenn ich das so mache und ein Monat fertig mache und den in die anderen kopiere dann muss ich trotzdem immer den Schichtrytmus ändern weil der unterschiedlich ist. Da bei uns auch häufig das personal getauscht wird muss ich immer welche austauschen. Unsere Anwesenheitsliste ist auch unsere Urlaubsplanung. Dann müßte ich jedesmal wieder alle Monate neu kopieren oder habe ich dich da falsch verstanden
Anzeige
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:25:23
Onur
Ich spreche vom VBA-Code (die zweite Lösung).
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:41:38
devil0401
Bin glaube zu blöd, meinst du den VBA Code den ich geschickt habe? das funktioniert nicht er übernimmt die Berechtigungen nicht in die anderen Monate.
AW: Exelberechtigung VBA in andere Arbeitblätter übernehmen
09.11.2024 23:47:31
Onur
Ich meinte meine Antwort vom 09.11.2024 04:23:52.
Was an den Worten: "Hier ein Beispiel, wie es geht: " verstehst du denn nicht?