Verschiedene Möglichkeiten zum Überprüfen, ob eine Zelle in Microsoft Excel VBA leer ist
- Möglichkeiten zum Überprüfen, ob eine Zelle leer ist
-
Methode 1: Die
IsEmpty
-Funktion -
Methode 2: Vergleichen mit
vbNullString
- Methode 3: Vergleichen Sie mit einer leeren Zeichenfolge
-
Methode 4: Die
Len
-Funktion -
Methode 5: Die Funktionen
Count
undCounta
-
Methode 6: Die
IsNull
-Funktion - Abschluss
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 FunktionIsBlank
in VBA jedoch nicht als Alternative zur FunktionIsEmpty
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.
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:
Beachten Sie, wie wir sowohl
IsEmpty(Range("A1"))
als auchIsEmpty(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:
Hinweis: Diese Methode funktioniert nicht, wenn die Zelle keinen Wert hat, aber einen Fehler wie
#N/A!
enthält. Daher ist es sicherer, die FunktionIsEmpty
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:
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:
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.
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:
- Die
IstEmpty
-Funktion - Vergleich mit
vbNullString
- Vergleich mit einem leeren String
- Die
Len
-Funktion - Die Funktionen
Count
undCounta
- Die
IsNull
-Funktion
Wir hoffen, dass Sie diese Konzepte verstehen konnten. Lerne weiter!
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