Heute erfahren Sie, wie Sie mit Visual Basic for Applications auf einfache Weise überprüfen können, ob eine oder mehrere Zellen leer sind. Der Inhalt ist relevant für Excel 2019 / 365, 2016 und frühere Versionen von Microsoft Office.
Vorarbeit
Bevor Sie mit der Codierung mit VBA in Excel beginnen, müssen Sie sicherstellen, dass Ihre Registerkarte „Entwicklung“ aktiviert ist. Wenn dies nicht der Fall ist, schauen Sie sich bitte dieses kurze Tutorial an .
Überprüfen, ob der Excel-Zellenbereich mit VBA leer ist
- Öffnen Sie in Excel Ihre Visual Basic-Umgebung, indem Sie Alt+F11 drücken
- Fügen Sie den folgenden Code als Prozedur in Ihr Arbeitsblatt oder alternativ in ein dediziertes VBA-Modul ein.
Sub Check_Cell_is_empty_alt()
Dim rng As Range
Set rng = Selection
For Each Cell In rng
If IsEmpty(Cell.Value) = True Then
Debug.Print ("Empty")
Else
Debug.Print ("Not Empty")
End If
Next Cell
End Sub
- Gehen Sie zu Ihrer Tabelle und wählen Sie einen beliebigen Zellbereich aus.
- Gehen Sie zurück zum Visual Basic-Editor und stellen Sie sicher, dass der Direkt-Viewer (STRG+G) sichtbar ist – da die Debug.Print-Methode im Code ihr Ergebnis in diesem Fenster ausgibt.
- Drücken Sie F5, um Ihren Code auszuführen.
- Sehen Sie sich die Ergebnisse im Direktfenster an.

- Alle leeren Zellen werden identifiziert.
Mögliche Erweiterungen des Codes: Sie können diesen Code natürlich nach Bedarf erweitern, falls Sie daran interessiert sind, leere Werte zu überspringen oder einfach nichts zu tun, falls die Zellen nicht voll sind. Ebenso können Sie prüfen, ob der Bereich selbst leer ist, also keine schwarzen Kästchen enthalten sind.
Überprüfung nicht leerer Felder
Auf die gleiche Weise können Sie die IsEmpty-Eigenschaft verwenden, um nach Feldern zu suchen, die nicht leer sind.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bonus: Verwenden Sie den folgenden Code, wenn Sie auch leere Zellen hervorheben möchten.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Setze myRange = Range("A1:A10") Für jede myCell in myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Es gibt insgesamt " &Ampere; ich & " leere Zelle(n) aus " &Ampere; c & "."