Vilas weiß, dass er ein Arbeitsblatt schützen kann, damit Benutzer keine Zellen löschen können. Er muss jedoch das Löschen von Zellen verhindern, ohne den Arbeitsblattschutz zu verwenden. (Vilas spricht nicht über das Löschen von Zellinhalten, sondern über das tatsächliche Löschen von Zellen, sodass sich umgebende Zellen nach links oder oben bewegen müssen.) Er fragt sich, ob es eine Möglichkeit gibt, einen Benutzer daran zu hindern, Zellen zu löschen, ohne das Arbeitsblatt zu schützen.

In Excel gibt es keine direkte Möglichkeit, dies zu tun. Es wäre schön, wenn Excel eine Möglichkeit bieten würde, einen Ereignishandler zu erstellen, der aufgerufen wurde, wenn eine Zelle gelöscht wurde, dies jedoch nicht. (Das Worksheet_Change-Ereignis wird anscheinend immer dann ausgelöst, wenn der Inhalt einer Zelle geändert wird, jedoch nicht, wenn eine Zelle vollständig gelöscht wird.) Aus diesem Grund ist die Verwendung eines Makros zum Schutz Ihrer Zellen vor dem Löschen nicht der richtige Weg.

Die beste Lösung, die wir finden konnten, besteht darin, eine Eigenart im Umgang mit Excel-Array-Formeln auszunutzen. Nehmen wir zum Beispiel an, Sie haben Daten im Bereich A1: L37 und möchten nicht, dass Zellen in diesem Bereich gelöscht werden. Befolgen Sie diese allgemeinen Schritte:

  1. Wählen Sie den Zellenbereich rechts neben Ihrem Block aus, den Sie schützen möchten. Wählen Sie in diesem Fall die Zellen M1: M37 aus.

  2. Geben Sie = „“ ein und drücken Sie Umschalt + Strg + Eingabetaste. Sie haben jetzt eine Nichtstun-Array-Formel erstellt, die den gesamten Bereich von M1: M37 abdeckt.

  3. Wählen Sie den Zellenbereich direkt unter dem Zellenblock aus, den Sie schützen möchten. Wählen Sie in diesem Fall die Zellen A38: L38 aus.

  4. Geben Sie = „“ ein und drücken Sie Umschalt + Strg + Eingabetaste. Sie haben jetzt eine Nichtstun-Array-Formel erstellt, die den gesamten Bereich von A38: L38 abdeckt.

Zu diesem Zeitpunkt können Sie weder eine Zelle innerhalb des Datenblocks (A1: L37) noch die Zeilen 1 bis 37 oder die Spalten A bis L löschen.

Bei jedem Versuch zeigt Excel die Meldung „Sie können einen Teil eines Arrays nicht ändern“ an. Die einzige Möglichkeit, Zellen, Zeilen oder Spalten innerhalb des Datenblocks zu löschen, besteht darin, zunächst die betroffenen Arrayformeln zu entfernen. Mit anderen Worten, Sie müssten zuerst Spalte M oder Zeile 38 löschen.

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

Dieser Tipp (10255) gilt für Microsoft Excel 97, 2000, 2002 und 2003.

Eine Version dieses Tippes für die Multifunktionsleistenoberfläche von Excel (Excel 2007 und höher) finden Sie hier: