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

Forumthread: Zellen einfügen schützen

Zellen einfügen schützen
13.03.2009 22:16:43
Mone
Hallo ihr Experten,
eine Frage:
Wie kann ich in einem Tabellenblatt Zeile 1 bis 29 so schützen, dass man keine Zellen mehr einfügen kann.
Alles andere soll erlaubt sein. Auch sollte eine bestimmte Zelle in diesem Bereich, meinetwegen J13 total geschützt sein, da sich darin eine Formel befindet. Kann man hierfür einen Code in VBA ins Tabellenblatt eingeben?
Ich danke schonmal für eure Hilfe.
Grüssli
Mone
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen einfügen schützen
13.03.2009 23:50:46
Oberschlumpf
Hi Mone
Was hältst du von Blattschutz?
Damit wird verhindert, dass sowohl Zellwerte, als eben auch das Einfügen/Löschen von Zeilen/Spalten verhindert wird.
Und wenn im zu schützenden Bereich Zellen sind, dessen Werte du ändern willst/musst, kannst du über Zellen formatieren den Schutz für einzelne Zellen aufheben.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Zellen einfügen schützen
13.03.2009 23:59:24
Mone
Hallo Thorsten
danke für deine Antwort.
Hilft aber nicht. Ich kenne den Umgang mit Blattschutz. Aber wenn ich die Zeilen unterhalb zeile 29 als "nicht geschützt" markiere" erlaubt mir Excel dann dort trotzdem nicht mehr die Funktion "Zeilen einfügen". Aber ich muss ab Zelle 29 Zeilen einfügen, nur darüber darf ich das nicht mehr, da ich durch Formulare/Textfelder bestimmte Zeilen befülle. WEnn diese aber durch "Zeilen einfügen" verschoben werden, dann stimmt das Format nicht mehr. Hm....schade, scheint wohl doch keine Möglichkeit zu geben, als meine Mitarbeiter strikt anzuweisen, oberhalb Zeile 29 keine Zeilen einzufügen :-(
Danke trotzdem für deine Antwort.
Gruss
mone
Anzeige
AW: Zellen einfügen schützen
14.03.2009 00:34:58
Oberschlumpf
Hi Mone
Sorry, habe deine Frage nicht richtig gelesen. Den Zusatz Alles andere soll erlaubt sein, hatte ich "übersehen".
Hab mit Hilfe von Google diese Lösung erstellt:
https://www.herber.de/bbs/user/60300.xls
In meinem Bsp musst du eine Hilfsspalte verwenden, die bei jeder Zellwertänderung auf korrekten Inhalt überprüft wird - dazu gehört auch Zeilen löschen&einfügen, was ja verhindert werden soll.
Wenn, wie im Bsp, die Spalte H NICHT als Hilfsspalte verwendet werden kann, dann musst du den Code entsprechend anpassen.
Eine Hilfe, welcher Code angepasst werden muss, gibt es in der Bsp-Datei.
Konnte ich nun besser helfen?
Ciao
Thorsten
Anzeige
AW: Zellen einfügen schützen
14.03.2009 12:02:02
Mone
Hallo Thorsten
für deine Mühe danke ich dir herzlich.
Deine Idee ist auch gut, aber für meine Zwecke leider nicht so brauchbar.
Das Blatt ist bei mir eine Rechnung und im oberen Teil sind die kaufmännischen Angaben, wie Bearbeiter, Tel., Kundenadresse, Datum, RE-Nr. etc. . Ab Zeile 29 füge ich die Produkte ein, daher muss ich Zeilen einfügen oder löschen können. Die Daten im oberen Teil werden mittels Formular/VBA eingetragen. Aber ich habe die Zellen damit genau definiert. Die Lösung mit VBA habe ich genommen, um Formeln zu umgehen, die dann ja eventuelle wieder überschrieben werden könnten.
Bei deiner Lösung muss ich wieder Formeln eingeben.
Es ist schwer zu beschreiben, aber ich hoffe, ich habe mich trotzdem einigermassen verständlich ausgedrückt.
Danke nochmal für deine Arbeit!
Gruss
mone
Anzeige
AW: Zellen einfügen schützen
14.03.2009 20:10:45
Oberschlumpf
Hi Mone
Ich bleib zuerst mal bei meinem Code von heute :-)
Denn noch bin sicher, dass der Code auch bei dir funktioniert.
Ich schrieb ja, wenn Spalte H als Hilfsspalte nicht passt, weil diese Spalte schon für deine Werte verwendet wird, dann nimmst du einfach eine andere, komplett leere Spalte - z Bsp Spalze Z - als Hilfsspalte, die, wenn alles funktioniert, ausgeblendet wird, und dann von niemandem gesehen wird.
Wenn Z auch nicht passt, nimmst du eine andere Spalte, die leer ist. Dir stehen mind. 256 Spalten zur Verfügung :-) Oder brauchst du wirklich alle Spalten für deine Werte?
Du kannst uns ja auch mal (d)eine Bsp-Datei zeigen - mit Bsp-Daten.
Dann sehen wir, welche Spalten unbenutzt sind, und können den Code entsprechend anpassen.
Ciao erst mal
Thorsten
Anzeige
AW: Zellen einfügen schützen
15.03.2009 16:54:06
Mone
Hallo Thorsten,
jetzt muss ich mich vor dir verneigen! hab mich nun mal ausführlich mit deiner Methode beschäftigt.....und finde sie genial! ;-) Du hast wirklich Recht, es funktioniert. Natürlich brauch ich nicht alle 256 Spalten. Ich brauche alle Spalten bis S. Hab aber den Testeintrag nun in Spalte 47 gemacht, ganz weit hinten, damit es niemand sieht :-) Die Farbe der Schrift für *testeintrag* hab ich auch unkenntlich gemacht :-)
Es funktioniert tatsächlich supi! Danke für deine grossartige Hilfe!
Bei deinem anderen Code fand ich halt deine Messagebox so elegant :-)
Gruss
mone
Anzeige
AW: Zellen einfügen schützen
15.03.2009 18:55:42
Oberschlumpf
Hi Mone
Nun steh aber wieder auf...zu viel (ver)beugen macht Rückenaua :-)
Und wenn es dir nur um die MsgBox geht, dann tausch deinen Code gegen diesen hier aus:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim liZeile As Integer
For liZeile = 1 To 29
If Cells(liZeile, 8)  "testeintrag" Then
MsgBox "Löschen/Hinzufügen von Zeilen/Spalten in diesem Bereich nicht erlaubt!", _
vbExclamation, "unerlaubter Zugriff"
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
Next
End Sub


Noch ein kleiner Verbesserungsvorschlag:
Du schreibst, dass du nun Spalte 47 als Hilfsspalte verwendest.
Das kann aber bedeuten, dass deine Datei nun auffallend mehr Speicherplatz benötigt, da Excel "denkt", du brauchst 47 Spalten, und speichert eben alle Infos für 47 Spalten - aber du brauchst ja nur 20 Spalten...(A bis S = 1 bis 19 + 1 Hilfsspalte).
Deswegen empfehle ich dir, anstelle von Spalte AU, die Spalte T zu verwenden und auszublenden.
Ausblenden geht, wie folgt:
vorher
Userbild
dann mit Rechtsklick auf den Spaltenkopf T,
und mit Links dann "Ausblenden" anklicken, was so aussieht
Userbild
das Ergebnis sieht so aus
Userbild
Nun sind S und U sichtbar, und T ist ausgeblendet.
Aber natürlich kannst du auch die Schriftfarbe in T gleich der Hintergrundfarbe einstellen.
Funktionierts denn mit der MsgBox nun auch bei dir? :-)
Ciao
Thorsten

Anzeige
AW: Zellen einfügen schützen
16.03.2009 00:09:46
Mone
Hallöchen Thorsten,
deine Lösung funktioniert obergenial :-) !!!
und ich hab mich schon gewundert, warum die Datei immer grösser und grösser wird :-)
Ich hab nur den Text in der MsgBox etwas freundlicher verfasst......aber sonst funktioniert alles einwandfrei!
Dank dir tausendmal für deine Mühe!
Bis bald
und Grüsse
mone
Anzeige
AW: Zellen einfügen schützen
14.03.2009 12:34:12
Mone
Hallo Thorsten....das ist ja witzig....
jetzt hab ich ein wenig weiter gesucht und von dir aus dem Jahr 2007 folgenden Code gefunden.
Ist genial. Das ist ungefähr genau das, was ich suche....allerdings müsste jetzt nur noch möglich sein, dass die Eingaben in Zellen erlaubt sind, eben nur das Hinzufügen und/oder Löschen nicht möglich ist....Kann man in dem Code nicht eine kleine Anpassung machen? ich fummel mal ein wenig rum, vielleicht schaff ich es ja :-)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lbMsg As Byte, liIndex As Integer
If Not Intersect(Target, Range("A1:J29")) Is Nothing Then
If InStr(1, Target.Address, ":") > 0 Or InStr(1, Target.Address, ",") > 0 Then
For liIndex = 1 To Target.Count
If Target(liIndex).Value = "" Then
lbMsg = MsgBox("Löschen eines Wertes in diesem Bereich nicht  _
erlaubt!", vbExclamation, "unerlaubter Zugriff")
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
Exit For
End If
Next
Else
If Target.Value = "" Then
lbMsg = MsgBox("Löschen eines Wertes in diesem Bereich nicht erlaubt!",  _
_
vbExclamation, "unerlaubter Zugriff")
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
End If
End If
End If
End Sub


Anzeige
AW: Zellen einfügen schützen
14.03.2009 13:20:30
Gerd
Hallo Mone,
hoffentlich macht keiner fehlerhafte Eingaben, die er korregieren möchte.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Len(Target.value) > 0 Then Application.Goto Cells(1, 1)
End Sub


Gruß Gerd

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen einfügen schützen in Excel


Schritt-für-Schritt-Anleitung

Um Zellen in einem bestimmten Bereich zu schützen und das Einfügen neuer Zellen zu verhindern, kannst du folgende Schritte ausführen:

  1. Blattschutz aktivieren:

    • Gehe zu „Überprüfen“ in der Menüleiste.
    • Klicke auf „Blatt schützen“. Hier kannst du festlegen, welche Aktionen erlaubt sind.
  2. Bereich schützen:

    • Wähle den Bereich aus, den du schützen möchtest (z.B. Zeile 1 bis 29).
    • Klicke mit der rechten Maustaste und wähle „Zellen formatieren“.
    • Gehe zum Tab „Schutz“ und deaktiviere „Gesperrt“ für die Zellen, die bearbeitet werden dürfen.
  3. VBA-Code hinzufügen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge den folgenden Code in das entsprechende Tabellenblatt ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim liZeile As Integer
    For liZeile = 1 To 29
        If Cells(liZeile, 8) <> "testeintrag" Then
            MsgBox "Löschen/Hinzufügen von Zeilen/Spalten in diesem Bereich nicht erlaubt!", _
            vbExclamation, "unerlaubter Zugriff"
            With Application
                .EnableEvents = False
                .Undo
                .EnableEvents = True
            End With
        End If
    Next
End Sub
  1. Testen:
    • Versuche, Zellen innerhalb des geschützten Bereichs einzufügen. Du solltest eine Fehlermeldung erhalten, die das Einfügen verhindert.

Häufige Fehler und Lösungen

  • Excel lässt keine Zeile einfügen: Wenn du versuchst, eine neue Zeile einzufügen und es nicht funktioniert, stelle sicher, dass der Blattschutz korrekt konfiguriert ist und die richtigen Zellen entsperrt wurden.

  • Excel kann keine neuen Zellen einfügen: Überprüfe die Zellenformatierung. Wenn die Zellen gesperrt sind, kannst du keine neuen Zellen einfügen.

  • Excel zellen einfügen nicht möglich: Möglicherweise ist der Schutz des Blattes zu streng, oder der Bereich ist nicht korrekt definiert. Überprüfe die Einstellungen im Blattschutz.


Alternative Methoden

  • Hilfsspalte verwenden: Du kannst eine Hilfsspalte verwenden, die bei Änderungen überprüft, ob die Eingabe zulässig ist. Diese Methode kann helfen, das Einfügen oder Löschen von Zellen zu verhindern, während andere Eingaben erlaubt sind.

  • Formulare nutzen: Verwende Excel-Formulare, um die Dateneingabe zu steuern. So kannst du sicherstellen, dass nur bestimmte Zellen bearbeitet werden können, während andere geschützt sind.


Praktische Beispiele

  1. Schutz für Rechnungen: Du hast eine Rechnung erstellt, in der die oberen Zeilen für die Kundendaten und die unteren für die Produkte reserviert sind. Du kannst den oben genannten VBA-Code verwenden, um sicherzustellen, dass die Struktur nicht verändert wird.

  2. Datenvalidierung: Füge Datenvalidierung für bestimmte Zellen ein, um sicherzustellen, dass nur bestimmte Werte eingegeben werden können. Dies kann in Kombination mit dem Blattschutz verwendet werden.


Tipps für Profis

  • Verwende aussagekräftige Fehlermeldungen: Gestalte deine MsgBox-Nachrichten freundlich und informativ, damit die Benutzer verstehen, warum ihre Aktion nicht erlaubt ist.

  • Hilfsspalten verstecken: Wenn du Hilfsspalten verwendest, blende sie aus, damit sie die Benutzer nicht ablenken. Dies kann durch Rechtsklick auf die Spaltenüberschrift und Auswahl von „Ausblenden“ erfolgen.

  • Regelmäßige Sicherungen: Mache regelmäßig Sicherungen deiner Excel-Datei, bevor du umfangreiche Änderungen oder Schutzmaßnahmen vornimmst.


FAQ: Häufige Fragen

1. Warum kann ich keine neuen Zellen einfügen? Das Einfügen neuer Zellen kann durch Blattschutz oder durch gesperrte Zellen verhindert werden. Überprüfe deine Einstellungen und entsperre die erforderlichen Zellen.

2. Wie schütze ich nur einen bestimmten Bereich? Du kannst den Blattschutz aktivieren und dann gezielt die Zellen auswählen, die bearbeitet werden dürfen. Stelle sicher, dass die Zellen, die geschützt bleiben sollen, als „Gesperrt“ markiert sind.

3. Welche Version von Excel benötige ich für diese Methoden? Diese Methoden sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und höher. Achte darauf, dass VBA aktiviert ist.

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