Verschiedene Möglichkeiten zum Überprüfen, ob eine Zelle in Microsoft Excel VBA leer ist

Bilal Shahid 21 Juni 2023
  1. Möglichkeiten zum Überprüfen, ob eine Zelle leer ist
  2. Methode 1: Die IsEmpty-Funktion
  3. Methode 2: Vergleichen mit vbNullString
  4. Methode 3: Vergleichen Sie mit einer leeren Zeichenfolge
  5. Methode 4: Die Len-Funktion
  6. Methode 5: Die Funktionen Count und Counta
  7. Methode 6: Die IsNull-Funktion
  8. Abschluss
Verschiedene Möglichkeiten zum Überprüfen, ob eine Zelle in Microsoft Excel VBA leer ist

VBA ist eine Programmiersprache für Microsoft-Excel-Anwendungen, die Benutzern verschiedene Funktionen und Features zur Verfügung stellt. In diesem Artikel erfahren Sie, wie Sie überprüfen können, ob eine Zelle leer ist.

Möglichkeiten zum Überprüfen, ob eine Zelle leer ist

In MS Excel ist eine Zelle ein Block, der als Schnittpunkt einer Zeile und einer Spalte identifiziert wird und die Zeilennummer und den Spaltenbuchstaben als Kennung hat. Diese Zellen können verschiedene Arten von Daten enthalten.

Wir können jedoch auch eine leere Zelle haben, die sich auf eine Zelle bezieht, die keine Daten enthält.

In MS Excel kann es viele Situationen geben, in denen wir überprüfen müssen, ob die Zelle Daten enthält oder nicht. Um uns dabei zu unterstützen, bietet MS Excel VBA mehrere Methoden, um zu überprüfen, ob eine Zelle leer ist.

Diese Methoden werden im Folgenden zusammen mit VBA-Codebeispielen ausführlich erläutert, damit Sie sie besser verstehen können.

Methode 1: Die IsEmpty-Funktion

Die Funktion IsEmpty in Excel VBA ist eine eingebaute Funktion, die einen booleschen Wert zurückgibt. Diese Funktion kann auch zusammen mit Zellen verwendet werden, um zu prüfen, ob eine Variable nicht initialisiert ist.

Es hat die folgende Syntax:

IsEmpty(value)

Hier ist Wert die Zelle oder Variable, die Sie überprüfen möchten.

Wenn die Zelle leer oder die Variable nicht initialisiert ist, gibt diese Funktion True zurück. Andernfalls wird False zurückgegeben.

Hinweis: Wenn Sie überprüfen möchten, ob ein Wert in einer Arbeitsblattzelle leer ist, können Sie auch die Arbeitsblattfunktion IstBlank(Wert) in der Bearbeitungsleiste verwenden. Sie können die Funktion IsBlank in VBA jedoch nicht als Alternative zur Funktion IsEmpty verwenden.

Lassen Sie uns mit dem folgenden Code die Funktion IsEmpty an einigen einfachen Zellen testen. Wir werden die gleichen zwei Zellen auch in den folgenden Beispielen verwenden.

Die Zelle ist nicht leer

Sub ExampleIsEmpty()

If IsEmpty(Range("A1")) = True Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If IsEmpty(Range("A2").Value) = True Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

Wenn Sie diesen Code ausführen, erhalten Sie die folgende Ausgabe in Meldungsfeldern:

Zelle A1 ist nicht leer

Zelle A2 ist leer

Beachten Sie, wie wir sowohl IsEmpty(Range("A1")) als auch IsEmpty(Range("A2").Value) verwendet haben. Beides wird gut funktionieren.

Methode 2: Vergleichen mit vbNullString

Wenn wir prüfen wollen, ob eine Zelle keinen Wert enthält, können wir sie auch mit vbNullString vergleichen. vbNullString ist eine Konstante, die den Null-Wert für Strings enthält.

Wenn der Vergleich zeigt, dass der Wert in der Zelle gleich vbNullString ist, können wir daraus schließen, dass die Zelle leer ist.

Der folgende Code zeigt, wie wir die Konstante vbNullString verwenden können, um nach leeren Zellen zu suchen.

Sub ExamplevbNullString()

If Range("A1").Value = vbNullString Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Range("A2").Value = vbNullString Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

Auch hier können wir sehen, dass die Ausgabe die folgenden Meldungsfelder anzeigt:

Zelle A1 ist nicht leer

Zelle A2 ist leer

Hinweis: Diese Methode funktioniert nicht, wenn die Zelle keinen Wert hat, aber einen Fehler wie #N/A! enthält. Daher ist es sicherer, die Funktion IsEmpty zu verwenden.

Methode 3: Vergleichen Sie mit einer leeren Zeichenfolge

Eine ähnliche Methode besteht darin, den in der Zelle vorhandenen Wert mit einer leeren Zeichenfolge zu vergleichen, die im Code als "" definiert ist. Liefert der Vergleich True, ist die Zelle leer und ansonsten nicht leer.

Hier ist ein Beispiel, das einen Vergleich mit "" verwendet, um festzustellen, ob die Zelle leer ist.

Sub ExampleEmptyString()

If Range("A1").Value = "" Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Range("A2").Value = "" Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

Die Ausgabe wird wie folgt sein:

Zelle A1 ist nicht leer

Zelle A2 ist leer

Methode 4: Die Len-Funktion

Um zu überprüfen, ob eine Zelle leer ist, können wir auch die Länge der darin enthaltenen Daten berechnen und vergleichen, ob sie gleich Null ist.

Wenn die Länge gleich Null ist, können wir sagen, dass die Zelle leer ist, was bedeutet, dass sie keine Daten enthält. Andernfalls sagen wir, dass die Zelle nicht leer ist.

Wir verwenden die in VBA eingebaute Len-Funktion, um die Länge der Daten zu berechnen. Es hat die folgende Syntax:

Len(value)

Hier ist Wert der Wert der Zelle, die Sie überprüfen möchten.

Schauen wir uns einen Beispielcode an, der die Funktion Len verwendet, um festzustellen, ob eine Zelle leer ist.

Sub ExampleLen()

If Len(Range("A1").Value) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Len(Range("A2").Value) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

Wie erwartet erhalten wir folgende Ausgabe:

Zelle A1 ist nicht leer

Zelle A2 ist leer

Methode 5: Die Funktionen Count und Counta

Die Funktionen Count und Counta sind Arbeitsblattfunktionen in VBA, die die Anzahl der nicht leeren Zellen im angegebenen Bereich zurückgeben. Der Unterschied zwischen ihnen besteht darin, dass die Funktion Count nur numerische Werte zählt, während die Funktion Counta mit beliebigen Daten arbeiten kann.

Wir können diese Funktionen verwenden, um zu prüfen, ob eine bestimmte Zelle leer ist. Wenn die Anzahl als 0 zurückgegeben wird, ist die Zelle leer, da die Funktion nur nicht leere Zellen zählt.

Es ist besser, die Funktion Counta anstelle der Funktion Count zu verwenden, da die Funktion Count Text- oder String-Daten als leer betrachtet.

Der folgende Code demonstriert die Verwendung der Funktion Counta, um nach leeren Zellen zu suchen.

Sub ExampleCounta()

If Application.WorksheetFunction.CountA(Range("A1")) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Application.WorksheetFunction.CountA(Range("A2")) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

Die Ausgabe ist wie erwartet.

Zelle A1 ist nicht leer

Zelle A2 ist leer

Methode 6: Die IsNull-Funktion

Eine andere Methode, um zu überprüfen, ob eine Zelle einen Null-Wert enthält, ist die Verwendung der IsNull-Funktion. Dies ist auch eine in VBA eingebaute Funktion, die einen booleschen Wert zurückgibt: True, wenn der Wert gleich Null ist, andernfalls False.

Wenn diese Funktion für den Wert einer Zelle True zurückgibt, können wir daraus schließen, dass die Zelle leer ist.

Die Syntax für die Funktion IsNull lautet wie folgt:

IsNull(value)

Hier ist Wert der Wert der Zelle, die Sie überprüfen möchten.

Zu beachten ist jedoch, dass der Wert Null nicht von Natur aus einer Zelle zugeordnet ist. Daher funktioniert diese Methode in vielen Fällen nicht und sagt, dass eine Zelle nicht leer ist, auch wenn sie leer ist, weil ihr Wert nicht gleich NULL ist.

Abschluss

In diesem Artikel haben wir sechs Methoden erklärt, um zu überprüfen, ob eine Zelle in Excel VBA leer ist:

  1. Die IstEmpty-Funktion
  2. Vergleich mit vbNullString
  3. Vergleich mit einem leeren String
  4. Die Len-Funktion
  5. Die Funktionen Count und Counta
  6. Die IsNull-Funktion

Wir hoffen, dass Sie diese Konzepte verstehen konnten. Lerne weiter!

Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

Verwandter Artikel - VBA Cell