Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle mit dem Wert 0 soll ungleich EMPTY sein

Zelle mit dem Wert 0 soll ungleich EMPTY sein
Ulf
Hallo,
ist eine Unterscheidung in VBA zwischen dem Wert 0 und Emtpy möglich?
Zur Erklärung:
habe folgenden Makro bei verlassen des Blatts:
Dim Mldg, Titel, Stil, Antwort
For i = 7 To 12
If Cells(i, 3) = Empty Then
Mldg = "Missing entry in cell (C" & i & ") !"
Stil = vbOKOnly + vbCritical
Titel = "Empty Cells Check"
Antwort = MsgBox(Mldg, Stil, Titel)
Worksheets("II. Calculation of OD").Activate
Range("C" & i).Select
Exit Sub
End If
Next i
Spalte C darf von Zeile 7 bis 12 nicht leer sein.
Daher der Makro.
Aber, wenn ich den Wert 0 eingebe, kommt ebenfalls die MsgBox!
Manch Messwerte können aber den Wert 0 haben.
Wie kann ich ein leeres Feld (EMPTY) von dem Wert NULL unterscheiden lassen?
Danke
Ulf
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Alternative ...
Volker
Hallo Ulf,
schon mal so probiert:
If Cells(i, 3) = Empty and Cells(i, 3) 0 Then
Gruss
Volker Croll
www.crolltools.decolor>
Mein Vorschlag ist natuerlich Bloedsinn ...
30.03.2004 17:41:09
Volker
... habe entgegen meiner sonstigen Art nicht getestet; sonst haette ich meinen Fehler bemerkt.
Sorry & Gruss
Volker Croll
www.crolltools.decolor>
Anzeige
If IsEmpty(Cells(i, 3)) Then....
Boris

Sub test()
Dim Mldg, Titel, Stil, Antwort, i
For i = 7 To 12
If IsEmpty(Cells(i, 3)) Then
Mldg = "Missing entry in cell (C" & i & ") !"
Stil = vbOKOnly + vbCritical
Titel = "Empty Cells Check"
Antwort = MsgBox(Mldg, Stil, Titel)
Worksheets("II. Calculation of OD").Activate
Range("C" & i).Select
Exit Sub
End If
Next i
End Sub

Grüße Boris
Anzeige
AW: If IsEmpty(Cells(i, 3)) Then....
31.03.2004 09:35:54
Ulf
ha!
wer hätte gedacht, dass = Empty nicht gleich Is Empty ist
DANKE
AW: Zelle mit dem Wert 0 soll ungleich EMPTY sein
Barny
Hi
Versuch mal dies:
If Cells(i, 3) = "" Then
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelle mit dem Wert 0 ungleich EMPTY behandeln in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel, indem Du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeineDateiName)", wähle "Einfügen" und dann "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub test()
    Dim Mldg, Titel, Stil, Antwort, i
    For i = 7 To 12
       If IsEmpty(Cells(i, 3)) Then
           Mldg = "Missing entry in cell (C" & i & ") !"
           Stil = vbOKOnly + vbCritical
           Titel = "Empty Cells Check"
           Antwort = MsgBox(Mldg, Stil, Titel)
           Worksheets("II. Calculation of OD").Activate
           Range("C" & i).Select
           Exit Sub
       End If
    Next i
    End Sub
  4. Starte das Makro, um die Überprüfung vorzunehmen. Es wird eine Meldung angezeigt, wenn eine der Zellen in Spalte C leer ist.

  5. Um sicherzustellen, dass eine Zelle mit dem Wert 0 nicht als leer behandelt wird, verwende die IsEmpty-Funktion anstelle von = Empty.


Häufige Fehler und Lösungen

  • Fehler: Die MsgBox erscheint auch bei Zellen mit dem Wert 0.
    Lösung: Verwende IsEmpty, um zwischen leeren Zellen und Zellen mit dem Wert 0 zu unterscheiden.

  • Fehler: Der Code funktioniert nicht, weil = Empty nicht gleich IsEmpty ist.
    Lösung: Ändere den Vergleich zu If IsEmpty(Cells(i, 3)).


Alternative Methoden

Eine weitere Möglichkeit, um sicherzustellen, dass Zellen mit dem Wert 0 nicht als leer betrachtet werden, ist die Verwendung einer Formel:

If Cells(i, 3) = "" Then

Diese Methode funktioniert gut, wenn Du nur leere Zellen überprüfen möchtest. Die Verwendung von "" stellt sicher, dass nur tatsächlich leere Zellen erkannt werden.


Praktische Beispiele

Hier siehst Du, wie Du die Unterscheidung zwischen 0 und EMPTY in Excel VBA umsetzen kannst:

Sub CheckCells()
    Dim Mldg, Titel, Stil, Antwort, i
    For i = 7 To 12
        If IsEmpty(Cells(i, 3)) Then
            Mldg = "Missing entry in cell (C" & i & ") !"
            MsgBox Mldg, vbOKOnly + vbCritical, "Empty Cells Check"
        ElseIf Cells(i, 3) = 0 Then
            ' Optional: Hier kannst Du eine andere Aktion ausführen,
            ' wenn der Wert 0 ist.
        End If
    Next i
End Sub

Tipps für Profis

  • Verwende If Not IsEmpty(Cells(i, 3)) für eine kompakte Überprüfung auf nicht leere Zellen.
  • Du kannst auch VBA If Not Empty verwenden, um sicherzustellen, dass Deine Logik klar und verständlich bleibt.
  • Wenn Du mit mehreren Spalten arbeitest, erwäge die Verwendung von Arrays für eine schnellere Verarbeitung.

FAQ: Häufige Fragen

1. Warum funktioniert = Empty nicht wie erwartet?
= Empty und IsEmpty sind zwei unterschiedliche Dinge. Während IsEmpty eine Funktion ist, die prüft, ob eine Zelle leer ist, interpretiert = Empty in VBA auch den Wert 0 als leer.

2. Wie kann ich eine Zelle auf NULL prüfen?
In VBA kannst Du If Cells(i, 3) Is Nothing Then verwenden, um zu überprüfen, ob eine Zelle NULL ist. Dies ist jedoch weniger häufig und hängt von der spezifischen Anwendung ab.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige