Robert möchte ein Makro, das alle Instanzen von Zellen in einer Datentabelle mit dem Wert Null findet und diese Zellen dann löscht. Er fragt sich, wie er das machen soll.

Für die Zwecke dieses Tipps gehe ich davon aus, dass Robert tatsächlich die Werte in den Zellen löschen und nicht die Zellen löschen möchte.

Außerdem gehe ich davon aus, dass er nicht nur Nullwerte verbergen möchte, wie dies mit einer einfachen Einstellungsänderung in Excel leicht möglich ist.

(Wie Sie dies tun, wurde in anderen ExcelTips behandelt.)

Es gibt tatsächlich einige Möglichkeiten, wie Sie Ihre Nullwerte loswerden können. Eine Möglichkeit verwendet nicht einmal Makros, sondern basiert auf den Such- und Ersetzungsfunktionen von Excel:

  1. Drücken Sie Strg + H. Excel zeigt die Registerkarte Ersetzen des Dialogfelds Suchen und Ersetzen an.

  2. Klicken Sie auf die Schaltfläche Optionen, um das Dialogfeld zu erweitern. (Siehe Abbildung 1.)

  3. Geben Sie im Feld Suchen nach 0 ein.

  4. Stellen Sie sicher, dass das Feld Ersetzen durch leer ist.

  5. Aktivieren Sie das Kontrollkästchen Gesamten Zelleninhalt abgleichen.

  6. Klicken Sie auf Alle ersetzen, um die Ersetzungen durchzuführen.

Falls gewünscht, können Sie die obigen Schritte sogar in ein kurzes kleines Makro übersetzen:

Sub ReplaceZeros()

Cells.Replace What:="0", Replacement:="", _       LookAt:=xlWhole, SearchOrder:=xlByRows End Sub

Es gibt eine Grenze für die Erreichung dieses Ansatzes, insbesondere werden nur Zellen ersetzt, die tatsächlich einen 0-Wert enthalten. Formeln, die in 0 aufgelöst werden, werden nicht ersetzt. Wenn beispielsweise eine Zelle die Fomula = 4-4 enthält, die in 0 aufgelöst wird, wird sie beim Suchen und Ersetzen ignoriert, da die Zelle keinen 0-Wert enthält.

Wenn Sie etwas möchten, das tatsächlich Zellen löscht, die entweder 0 enthalten oder in 0 aufgelöst werden, benötigen Sie einen anderen Makroansatz. Hier ist eine gute:

Sub DeleteZeroes()

Dim rCell As Range

For Each rCell In Selection         If rCell.Value = 0 Then             rCell.ClearContents         End If     Next End Sub

Um das Makro zu verwenden, wählen Sie einfach die Zellen aus, die Sie beeinflussen möchten, und führen Sie das Makro aus. Es durchsucht jede der ausgewählten Zellen und entfernt den Inhalt jeder Zelle, die einen 0-Wert enthält – und in diesem Fall auch alle Formeln, die in 0 aufgelöst werden.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

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

Dieser Tipp (13437) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.