Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Trotz Blattschutz, gruppieren und Zeilen löschen

Forumthread: Trotz Blattschutz, gruppieren und Zeilen löschen

Trotz Blattschutz, gruppieren und Zeilen löschen
21.02.2017 11:45:06
Peggy
Hallöchen,
ich habe mich hin und her belesen. Mein Grundproblem war das ich im Blattschutz weder gruppieren noch filtern konnte. Dies habe ich mit folgendem VBA gelöst:
Sub Workbook_Open()
ActiveSheet.Protect userinterfaceonly:=True, Password:="Passwort"
ActiveSheet.EnableOutlining = True 'für Gliederung
ActiveSheet.EnableAutoFilter = True 'für Autofilter
End Sub

Nun tauchte mit diesem VBA das nächste Problem auf. Ich muss trotzdem die dinge im Blattschutz nutzen können (Zeilen einfügen, löschen - Spalten einfügen, löschen und Zellen einfügen, löschen). Ich habe auch zu diesem Problem versucht mich zu belesen. Leider finde ich aber keine Lösung für mich die funktioniert. Ich habe folgenden VBA genutzt:
Sub Workbook_Open()
'für alle Blätter mit Passwortschutz
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect userinterfaceonly:=True, Password:="" 'Passwort anpassen
ws.EnableAutoFilter = True 'ermöglicht Autofilter
ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True 'setzt die Einstellungen, die im Blattschutz hinterlegt wurden (z.B. _
_
wurde erlaubt Zeilen zu löschen...)
Next ws
End Sub

Wenn ich diesen eintrage, kommt beim öffnen immer die Abfrage nach einem Passwort und wenn ich dies eingebe (was ich nicht möchte, am ende soll es funktionieren ohne die Passwortabfrage beim öffnen der Datei), dann kommt ein Debuggen fehler. Könnt ihr bitte schnellstmöglich helfen. Hatte in einem anderen Forum schon gefragt, da hat niemand auf meine Anfrage reagiert :-(
Achso wichtig wäre, das ihr es mir so komplett aufschreibt, das ich es nur kopieren und einfügen muss :-) Ich denke alles andere bekomme ich nicht hin :-)
Vielen Dank und liebe Grüße
Peggy
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
21.02.2017 20:16:36
onur
Hi,
Zeilen und Spalten Einfügen kannst du ja anklicken und es klappt sogar.
Ebenso kannst du zwar Zeilen/Spalten löschen anklicken, aber das klappt irgendwie nicht.
Aber wenn du auch noch Zellen einfügen und löschen willst, wozu schützt du das blatt überhaupt noch?
Wenn mehrere Leute an verschiedenen Rechnern mit dieser Datei arbeiten, wie wäre es, wenn ein Makro den Usernamen abfragt, und wenn es dein Name ist, automatisch den Blatt/Mappenschutz aufhebt.
Das Makro könntest du ja verstecken, in dem du das Projekt schützt.
Nur so eine Idee.
gruß
Onur
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 08:37:32
Peggy
Guten morgen,
Vielen Dank für deine Antwort Onur.
Kurze Erläuterung. Die Datei ist eine Kalkulation. Der Blattschutz ist dafür da, das der Kalkulationskopf (wo alle Summen zusammen gerechnet werden) nicht änderbar ist. Trotzdem muss in der Kalkulation die bestimmten Titel in der Größe variabel sein. Bei genauerem nachdenken benötige ich die Spalten löschen und einfügen Funktion nicht (das wird ja wegen dem Kalkulationskopf nicht gehen) aber die Zeilen sollten definitiv erweiterbar sein mit kopieren - kopierte Zeilen einfügen und demzufolge auch wieder zu löschen.
Zellen benötige ich glaub ich auch nicht. Aber Zeilen sind wichtig.
Dein Vorschlag würde bei der Geschäftsführung nicht durch gehen. Es muss funktionieren ohne das jemand auf Anhieb sieht das ein Blattschutz drin ist. Den sehen sie nur, wenn sie im Kalkulationskopf rum doktorn wollen.
Ich hoffe trotzdem noch auf eine Hilfe, denn offensichtlich gibt es den VBA ja, nur funktioniert er bei mir nicht. Sozusagen das die Funktionen des Blattschutzen je nach Einstellung trotzdem funktionieren.
Liebe Grüße
Peggy
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 10:00:16
onur
Hi peggy,
Du kannst für jede zelle unter zelle formatieren entscheiden, ob sie geschützt werden soll oder nicht.
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 11:36:01
Peggy
Hallo :-)
Ja das funktioniert alles. Habe die zellen die nicht geändert werden dürfen gesperrt. Dann habe ich den Blattschutz mit Passwort eingegeben. Dann habe ich festgestellt das ich nicht mehr gruppieren kann. Deswegen habe ich einen VBA gesucht, wo ich gruppieren kann trotz Blattschutz. Den VBA habe ich und der funktioniert super (siehe mein ersten Beitrag), leider kann ich durch diesen VBA keine Zeilen mehr einfügen und löschen. Ich kann nur mit den vorhandenen arbeiten. Was nicht ausreichend ist.
Blattschutz aufheben ist keine Option, weil ich die Sicherung für den Kalkulationskopf benötige. Ohne VBA kann ich nicht gruppieren, das ist auch notwenig, denn teilweise sind die Kalkulationen ewig lang und man kann mit der Gruppierung bestimmte Positionen die der Kunde nicht sehen darf ausblenden.
Wenn du einen kompletten VBA (ohne Blattschutz) für mich hast, wo ich sicherstellen kann das niemand den Kalkulationskopf bearbeiten kann, ich gruppieren, filtern und zeilen einfügen und löschen kann, wäre das super.
Liebe Grüße
Peggy
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 11:41:39
onur
Kannst du mir die datei oder etwas sehr ähnliches posten?
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 11:48:45
onur
Spontan fällt mir ein, du könntest über das selection_change ereignis einfach verhindern, dass diese zellen überhaupt angeklickt werden können. Das heisst, sobald die zu schützenden zellen angewählt werden, wird zB A1 angewählt.
Dann brauchst du gar kein blattschutz mehr.
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
22.02.2017 14:24:08
Peggy
Klingt interessant.
Leider verstehe ich null wovon du redest bzw. wie ich das umsetze. Bitte eine genauere Erklärung, das wäre die bzw. eine Lösung für das Problem. Wenn das funktioniert.
Heute abend kann ich auch gerne die Kalkulation mal hoch laden. Habe es heute Mittag probiert, dies ging aber von unserem IT her nicht. Wurde gesperrt. Probiere es also von zu Hause aus. Vielleicht ist es in Datei-Form besser verständlich :-)
Liebe Grüße
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
23.02.2017 10:32:49
Peggy
Hallo Onur,
das hat mich schon weiter gebracht. Vielen Dank.
Ich bräuchte die Zeilen/Spalten wie folgt gesperrt.
Es muss von V4 bis Y30 gesperrt sein.
Könntest du mir dafür nochmal eine Datei schicken? ich habe deine selection-change übernommen, leider hat es mir dann aber die kompletten Zeilen gesperrt. Das geht nicht, in den Zeilen vor V muss noch was eingetragen werden und in den Zeilen nach Y werden auch stundenlöhne eingetragen :-(
Kannst du mir dafür auch eine Datei schicken oder einfach den Code hier rein, das ich ihn kopieren kann.
Sorry das ich gestern abend vergessen habe die Datei hoch zu laden :-(
https://www.herber.de/bbs/user/111685.xlsm
Liebe Grüße
Peggy
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
23.02.2017 17:23:40
onur
Hi Peggy,
Hier ist die Datei.
https://www.herber.de/bbs/user/111708.xlsm
Ich konnte ihn nicht gründlich testen, da du ja den Blattschutz nicht herausgenommen hattest.
Ich hoffe, du willst im gesperrten bereich nicht auch noch zeilen oder spalten einfügen können.
Wenn ja, bitte dem "Sperrgebiet" einen namen verpassen und mir die datei wieder posten.
Wen du die Meldung "Forbidden" nicht magst, entweder die Zeile:

MsgBox ("Forbidden!")

komplett löschen oder den Text zw. den Gänsefüsschen ändern.
Gruß
Onur
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
24.02.2017 10:04:46
Peggy
Vielen Vielen Dank. Es funktioniert.
Ich werde wieder auf dich zu kommen, wenn ich mal wieder eine Lösung benötige :-) Jetzt stelle ich die Kalkulation erst mal der Geschäftsleitung vor und hoffe sie sind damit zu frieden.
Liebe grüße
Peggy
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
25.02.2017 02:06:50
onur
Hi Peggy,
Ich glaube, du solltest doch dem "Sperrgebiet" einen Namen vergeben und den code anpassen, für den Fall, dass jemand links vom oder oberhalb des "Sperrgebiets" Spalten bzw Zeilen einfügt/löscht (dann würden sich ja die Spalten/Zeilennummern des Bereiches ändern).
Mit einem Bereichsnamen statt Zeilen- /Spaltennummern kann das nicht passieren, da sich der Bereich dann automatisch anpassen würde.
Wenn du diesen code nimmst statt des anderen musst du nur noch den Namen in Gänsefüsschen ändern.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng
Set rng = Range("Sperrgebiet")' HIER DEN BEREICHSNAMEN EINGEBEN
If Intersect(rng, Target) Is Nothing Then
Exit Sub
End If
MsgBox ("Forbidden!")
Cells(2, 22).Select
End Sub

Gruß
Onur
Anzeige
AW: Trotz Blattschutz, gruppieren und Zeilen löschen
01.03.2017 15:09:02
Peggy
Hallo Onur,
danke für dein mitdenken.
Habe soeben deine Formel probiert und dann zeigt es mir ein Fehler.
Kannst du sie nochmal prüfen? Habe nur den Text genommen und den anderen Text überkopiert.
Liebe Grüße
Peggy
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz in Excel: Gruppieren und Zeilen Löschen


Schritt-für-Schritt-Anleitung

Um trotz Blattschutz in Excel Zeilen zu löschen und zu gruppieren, kannst du den folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, die Benutzeroberfläche zu schützen, während du dennoch die Funktionen für das Gruppieren und Löschen von Zeilen nutzen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das gewünschte Arbeitsblatt aus.
  3. Füge den folgenden Code in das Arbeitsblattmodul ein:
Private Sub Workbook_Open()
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.Protect userinterfaceonly:=True, Password:="" ' Passworteingabe anpassen
        ws.EnableAutoFilter = True ' ermöglicht Autofilter
        ws.EnableOutlining = True ' ermöglicht Gruppierung
        ws.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
        False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
        AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
        :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
        AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
        AllowUsingPivotTables:=True ' setzt die Einstellungen für den Blattschutz
    Next ws
End Sub
  1. Schließe den VBA-Editor und speichere die Datei als Makro-fähige Datei (*.xlsm).
  2. Öffne die Datei erneut, um die Änderungen zu aktivieren.

Häufige Fehler und Lösungen

  • Fehler: Passwortabfrage beim Öffnen der Datei

    • Überprüfe, ob du ein Passwort in der Zeile ws.Protect userinterfaceonly:=True, Password:="" eingegeben hast. Lass das Passwort leer, um die Abfrage zu vermeiden.
  • Fehler: Zeilen können nicht gelöscht werden

    • Stelle sicher, dass die Option AllowDeletingRows:=True im VBA-Code aktiviert ist. Dies erlaubt das Löschen von Zeilen.
  • Fehler: Debugging-Fehler beim Ausführen des Codes

    • Achte darauf, dass der Code im richtigen Modul eingefügt wurde. Er sollte im ThisWorkbook-Bereich des VBA-Editors sein.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die folgenden Methoden ausprobieren:

  1. Zellen Formatieren:

    • Gehe zu Überprüfen > Blattschutz und stelle sicher, dass die Zellen, die bearbeitet werden dürfen, nicht geschützt sind. Dies erfordert jedoch, dass du den Blattschutz vorübergehend aufhebst.
  2. Blattschutz anpassen:

    • Du kannst den Blattschutz so einstellen, dass er nur bestimmte Funktionen erlaubt. Dazu gehst du auf Überprüfen > Blattschutz und wählst die gewünschten Optionen aus.

Praktische Beispiele

Um eine praktische Anwendung zu zeigen, gehe wie folgt vor:

  1. Erstelle eine Liste mit Daten in Excel.
  2. Füge den obigen VBA-Code ein.
  3. Versuche, Zeilen zu gruppieren und zu löschen.
  4. Du solltest in der Lage sein, die Zeilen zu löschen, während der Blattschutz aktiv bleibt.

Wenn du die Funktion zum Gruppieren löschen möchtest, kannst du die Zeile ws.EnableOutlining = True entfernen.


Tipps für Profis

  • Benutzerdefinierte Fehlermeldungen: Du kannst die Fehlermeldung im VBA-Code anpassen, um spezifische Anweisungen für deine Benutzer zu geben, wenn sie versuchen, geschützte Zellen zu bearbeiten.

  • Bereichsnamen verwenden: Um die Flexibilität zu erhöhen, kannst du Bereichsnamen anstelle von festen Zellreferenzen verwenden. So bleibt der Code dynamisch, wenn Zeilen oder Spalten hinzugefügt werden.

  • Versteckte Makros: Schütze dein VBA-Projekt mit einem Passwort, um zu verhindern, dass andere Benutzer den Code ändern.


FAQ: Häufige Fragen

1. Kann ich auch andere Funktionen im Blattschutz aktivieren? Ja, du kannst weitere Optionen im ws.Protect-Befehl hinzufügen, um spezifische Funktionen zu erlauben oder zu verbieten.

2. Wie kann ich den Blattschutz aufheben? Um den Blattschutz aufzuheben, gehe zu Überprüfen > Blattschutz aufheben und gib das Passwort ein, falls eines festgelegt wurde.

3. Gibt es Einschränkungen bei der Verwendung von VBA in Excel? Ja, einige Einstellungen und Funktionen hängen von der Excel-Version ab. Stelle sicher, dass du eine aktuelle Version verwendest, die VBA unterstützt.

4. Ist es möglich, den Blattschutz für bestimmte Zellen aufzuheben? Ja, du kannst Zellen vor dem Schutz formatieren, um sie als bearbeitbar festzulegen. Gehe dazu auf Zellen formatieren und wähle die entsprechende Option aus.

5. Wie speichere ich meine Datei mit aktivem VBA? Speichere die Datei als Excel-Arbeitsmappe mit Makros (*.xlsm), um sicherzustellen, dass der VBA-Code erhalten bleibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige