Ab Excel 2000 hat Microsoft die Möglichkeit hinzugefügt, zu definieren, was der Benutzer in einem geschützten Arbeitsblatt tun kann. Mithilfe der Kontrollkästchen im Dialogfeld „Blatt schützen“ können Sie eine Vielzahl zulässiger Aktionen auswählen. (Siehe Abbildung 1.)

image

Abbildung 1. Das Dialogfeld „Blatt schützen“.

Eine der im Dialogfeld „Blatt schützen“ zulässigen Aktionen ist das Einfügen und Löschen von Zeilen und Spalten in ein geschütztes Arbeitsblatt. Dies ist eine großartige Funktion für einige Arten von Arbeitsblättern. Aber es ist etwas Seltsames daran, wie diese Funktion tatsächlich funktioniert.

Angenommen, Sie erstellen ein Arbeitsblatt und schützen es. Auf diese Weise geben Sie an, dass es für Benutzer in Ordnung ist, Zeilen in das geschützte Arbeitsblatt einzufügen und zu löschen. Wenn jemand versucht, eine Zeile in das geschützte Arbeitsblatt einzufügen, wird sie problemlos eingefügt. Wenn jemand versucht, eine Zeile zu löschen – auch die gerade eingefügte Zeile -, ist die Aktion nicht zulässig. es kann nicht gemacht werden.

Was gibt? Sie haben im Dialogfeld „Blatt schützen“ angegeben, dass Personen Zeilen löschen können, Excel erlaubt dies jedoch nicht.

Der Grund scheint damit zu zusammenhängen, wie Excel den Arbeitsblattschutz implementiert. Beachten Sie, dass der Schutz auf alle Zellen angewendet wird, die auf der Registerkarte Schutz des Dialogfelds Zellen formatieren als Gesperrt formatiert sind. Wenn eine Zelle in einer Zeile, die Sie löschen möchten, als gesperrt formatiert ist, können Sie die Zeile durch den Arbeitsblattschutz nicht löschen. Wenn für alle Zellen in der Zeile das Kontrollkästchen Gesperrt aktiviert ist, kann die Zeile erfolgreich gelöscht werden. (Siehe Abbildung 2.)

image

Abbildung 2. Die Registerkarte Schutz des Dialogfelds Zellen formatieren.

Interessanterweise kann der Benutzer eine hinzugefügte Zeile nicht löschen, da die hinzugefügte Zeile die Zellenformatierung der darüber liegenden Zeile erbt. Wenn sich also gesperrte Zellen in der Zeile über der eingefügten Zeile befinden, kann die eingefügte Zeile nicht gelöscht werden, solange das Arbeitsblatt geschützt ist.

Dieses Verhalten ist natürlich für keinen Arbeitsblattentwickler besonders nützlich, der wirklich möchte, dass Benutzer Zeilen in einem Arbeitsblatt löschen können, unabhängig davon, ob Zellen in den Zeilen gesperrt sind. Wenn Sie eine dieser Personen sind, können Sie nur ein Makro erstellen, das das Löschen für Sie übernimmt. Das Makro muss die folgenden Schritte ausführen:

  1. Deaktivieren Sie das Arbeitsblatt. Löschen Sie die Zeile. Schützen Sie das Arbeitsblatt erneut

Diese drei Schritte sind relativ einfach durchzuführen und verwenden Techniken, die in anderen Ausgaben von ExcelTips. beschrieben wurden. Um das Makro nützlich zu machen, möchten Sie wahrscheinlich Code hinzufügen, der sicherstellt, dass der Benutzer nicht versucht, Zeilen zu löschen, die er nicht möchte löschen (Überschriften, Summen usw.)

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3004) gilt für Microsoft Excel 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: