Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

überprüfen ob eine zelle leer ist

Forumthread: überprüfen ob eine zelle leer ist

überprüfen ob eine zelle leer ist
09.04.2003 11:18:14
Rolandk
hallo

Frage: ich möchte über prüfen ob eine zelle leer ist und das als bedingung dafür benutzen ob eine schaltflache eine aktion ausführt

z.B.: wenn zelle A8 leer
dann führe die aktoin xyz aus
sonst mache nichst


wie müsste der vba code für sowas aussehn..

vielen dank im voraus...

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: überprüfen ob eine zelle leer ist
09.04.2003 11:24:28
Nike

Hi,

if range("A8").value ="" then

end if

Bye

Nike

Re: überprüfen ob eine zelle leer ist
09.04.2003 11:25:53
Rolandk

danke!!

(hach das forum ist spitze dawird einem immer sofrot geholfen)

@Nike - Was ist "leer"?
09.04.2003 11:53:39
Martin Beck

Hallo Nike,

mal eine grundsätzliche Frage. Was ist "leer"? Und liefert der Code

if range("A8").value ="" then

immer die richtige Antwort? Und wo ist der Unterschied zu IsEmpty?

Um mein Problem zu verdeutlichen, gibt mal in A1 eine Formel, wie z.B.

=WENN(A2=3;"";"")

ein und wandle die Formel in einen Wert um. Laß dann mal folgendes Makro laufen:

Entsprechend ist es mit den Formeln

=ISTLEER(A1)

und

=A1=""


Im Grunde müßte man einen Fragenden immer fragen, was er unter leer versteht, oder?

Gruß
Martin Beck


Anzeige
Re: "leer" ist definitiv relativ ;-)
09.04.2003 11:58:23
Nike

Hi Martin,
ja, leer is schon ne fiese Geschichte,
daher hab ich mich auch dür "" entschieden,
mit isempty hat`s mich schon zu oft an der Nase herumgeführt ;-)

Access handhabt das Ganze schon um einiges genauer mit
Null und einem Leerstring ("")...

Bye

Nike

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zelle in Excel mit VBA auf Leerheit prüfen


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu überprüfen, ob eine Zelle leer ist, kannst du folgenden Code verwenden:

If Range("A8").Value = "" Then
    ' Aktion ausführen, wenn die Zelle leer ist
Else
    ' Aktion ausführen, wenn die Zelle nicht leer ist
End If

In diesem Beispiel wird die Zelle A8 auf Leerheit geprüft. Wenn die Zelle leer ist, kannst du eine bestimmte Aktion durchführen, z. B. eine Nachricht anzeigen oder einen Wert in eine andere Zelle einfügen.

Falls du umfassendere Prüfungen durchführen möchtest, wie zum Beispiel die Erkennung von leeren Zellen, die durch Formeln gefüllt sind, kannst du die IsEmpty-Funktion verwenden:

If IsEmpty(Range("A8")) Then
    ' Aktion ausführen, wenn die Zelle leer ist
End If

Häufige Fehler und Lösungen

  1. Fehler: Falsche Verwendung von IsEmpty

    • Lösung: IsEmpty überprüft nur, ob eine Zelle wirklich leer ist. Wenn du Formeln verwendest, die leere Strings zurückgeben, wird IsEmpty nicht als leer erkannt. Verwende stattdessen Range.Value = "".
  2. Fehler: Code funktioniert nicht wie erwartet

    • Lösung: Stelle sicher, dass du den Code im richtigen Kontext (z. B. innerhalb eines Buttons oder Makros) ausführst.
  3. Fehler: Aktion wird nicht ausgeführt

    • Lösung: Überprüfe, ob die Bedingungen im If-Statement korrekt formuliert sind und dass die Aktion im Else-Zweig auch tatsächlich ausgeführt wird.

Alternative Methoden

Du kannst auch die VBA Zelle leer prüfen-Funktionalität von Excel nutzen, indem du eine Funktion schreibst, die prüft, ob eine Zelle leer ist:

Function CheckIfCellIsEmpty(cell As Range) As Boolean
    CheckIfCellIsEmpty = (cell.Value = "")
End Function

Diese Funktion kannst du dann in deinem Code verwenden:

If CheckIfCellIsEmpty(Range("A8")) Then
    ' Aktion ausführen
End If

Praktische Beispiele

  1. Beispiel für eine Schaltfläche:
    • Du kannst eine Schaltfläche erstellen, die eine Aktion nur ausführt, wenn eine bestimmte Zelle leer ist.
Private Sub CommandButton1_Click()
    If Range("A8").Value = "" Then
        MsgBox "Die Zelle A8 ist leer."
    Else
        MsgBox "Die Zelle A8 hat Inhalt."
    End If
End Sub
  1. Beispiel für die Verwendung in einer Schleife:
    • Wenn du mehrere Zellen auf Leerheit prüfen möchtest, kannst du eine Schleife verwenden:
Dim i As Integer
For i = 1 To 10
    If Cells(i, 1).Value = "" Then
        MsgBox "Zelle A" & i & " ist leer."
    End If
Next i

Tipps für Profis

  • Verwende Trim: Um sicherzustellen, dass auch leere Strings mit Leerzeichen erkannt werden, kannst du Trim verwenden:

    If Trim(Range("A8").Value) = "" Then
  • Kombiniere Bedingungen: Du kannst mehrere Prüfungen kombinieren, um festzustellen, ob eine Zelle entweder leer oder einen bestimmten Wert hat.

  • Nutze WorksheetFunction: Für komplexere Prüfungen kannst du auch die Excel-Funktionen direkt in VBA verwenden, z. B. Application.WorksheetFunction.CountA.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen IsEmpty und Range.Value = ""? IsEmpty prüft, ob eine Zelle nie einen Wert hatte, während Range.Value = "" prüft, ob die Zelle aktuell leer ist, auch wenn sie früher einen Wert hatte.

2. Wie kann ich prüfen, ob eine ganze Zeile leer ist? Du kannst eine Schleife verwenden, um alle Zellen in einer Zeile zu überprüfen und dann feststellen, ob alle leer sind.

3. Was passiert, wenn die Zelle eine Formel hat, die einen leeren String zurückgibt? In diesem Fall wird Range.Value = "" als wahr erkannt, aber IsEmpty wird falsch zurückgeben.

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