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

Forumthread: Wie erkennt VBA leere Zelle?

Wie erkennt VBA leere Zelle?
31.08.2005 23:09:40
Stefanie
Hallo zusammen,
ich habe bestimmt ne echt simple Frage aber ich komme nicht dahinter.
Ich möchte gern, wenn kein Wert in der Zelle steht, dass das Shape weiß wird.
Habe es schon mit "" probiert. Hat leider nichts gebracht.
Hier ein Codesegment, dort wo die Fragezeichen stehen, müsste halt das Zeichen für leere Zelle rein. Zurzeit erkennt er nur leere Zellen als Wert 0 an und der ist schon mit ner Farbe belegt.
Case Is &gt ?
ActiveSheet.Shapes(InI).Fill.ForeColor.SchemeColor = 1
Wäre toll, wenn mir jemand einen Hinweis geben könnte.
Vielen Dank im Voraus.
Beste Grüße
Stefanie
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie erkennt VBA leere Zelle?
31.08.2005 23:29:23
PeterW
Hallo Stefanie,
hast du es mal mit einem einfachen Case "" probiert? Bei mir wird das richtig erkannt, vorausgesetzt, die Zelle ist wirklich nicht leer und nicht dummerweise mit einem Leerzeichen gefüllt.
Gruß
Peter
O.T. minus "nicht" :-) m.T
31.08.2005 23:32:39
Reinhard
Hallo Peter, como siempre du, wieder muss ich die XL-version angeben :-(
Gruß
Reinhard
Anzeige
AW: O.T. minus "nicht" :-) m.T
31.08.2005 23:39:52
PeterW
Hallo Reinhard,
stimmt, das erste "nicht" muss weg. ;-)
Mit der nicht mehr angegebenen Version hab ich nichts zu tun - ich garantiere dir aber, dass ich nichts anderes mache, als andere User auch: ich antworte auf Fragen, wenn auch nur noch sporadisch. :-) Und mit Latein kann ich immer noch nicht glänzen (habe nur Hilfsabitur), ist für mich aber in einem Excel-Forum auch nicht so wichtig. ;-)
Gruß
Peter
Anzeige
AW: O.T. minus "nicht" :-) m.T
31.08.2005 23:46:46
Reinhard
Hallo Peter,
como siempre heißt wie immer, daß weiß man doch, habe alle Asterixbände studiert, obwohls da gar nihct drin steht *glaub*.
Dann sah ich mal den Film quo vadis=wohin gehst du, naja, da hört mein Latein schon auf.
Ich antworte ja auch gelegentlich hier, einzig bei dir muss ich beim ntworten die XL-Version angeben, naja, irgendwie antwortet Hans seit langem nicht mehr *find*
Vielleicht wüßte er wodran das liegen könnte.
Gruß
Reinhard
Anzeige
ich auch
31.08.2005 23:43:48
MichaV
Hallo Reinhardt,
wennst Dich interessiert: ich auch.
Gruß- Micha
Na endlich ne Rückmeldung *freu* o.w.T.
31.08.2005 23:52:13
Reinhard
AW: Wie erkennt VBA leere Zelle?
01.09.2005 00:56:52
Franz
Case ""
ist die eine Möglichkeit, dabei muß diese Anweisung in der Reihenfolge vor Case 0 stehen also

Select Case Zelle.value
Case ""
Anweisungen
Case 0
Anweisumngen
usw.
Alternativ kann man eine leere Zelle auch folgendermaßen abfragen:
If IsEmpty(Zelle) = True Then
Anweisungen
End If

Anzeige
AW: Wie erkennt VBA leere Zelle?
01.09.2005 01:08:21
PeterW
Hallo Franz,
dann der Vollständigkeit halber noch der Hinweis, dass die Codezeile
If IsEmpty(Zelle) Then
auch ausreichen würde. ;-)
Gruß
Peter
AW: Wie erkennt VBA leere Zelle?
01.09.2005 08:28:43
Stefanie
Hallo und Guten Morgen zusammen,
gleich die erste Möglichkeit mit Case "" funktioniert wirklich ausgezeichnet. Habe es wie gewünscht vor alle anderen Anweisungen gesetzt.
Vielen lieben Dank an Euch.
Wünsche einen erfolgreichen Tag und viele Grüße
Stefanie
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA zur Erkennung leerer Zellen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA eine leere Zelle zu erkennen, kannst du folgende Vorgehensweise nutzen:

  1. Öffne den VBA-Editor in Excel (drücke ALT + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Verwende den folgenden Code, um die leere Zelle zu prüfen:
Sub ZellePruefen()
    Dim Zelle As Range
    Set Zelle = ActiveSheet.Range("A1") ' Ändere "A1" entsprechend deiner Zelle

    Select Case Zelle.Value
        Case "" ' Prüft, ob die Zelle leer ist
            MsgBox "Die Zelle ist leer."
        Case 0
            MsgBox "Die Zelle enthält den Wert 0."
        Case Else
            MsgBox "Die Zelle enthält den Wert: " & Zelle.Value
    End Select
End Sub
  1. Führe das Makro aus, um zu sehen, ob die Zelle leer ist oder nicht.

Häufige Fehler und Lösungen

  • Excel erkennt leere Zellen nicht: Stelle sicher, dass die Zelle wirklich leer ist und nicht nur ein leeres Zeichen (z. B. ein Leerzeichen) enthält. Verwende Trim() in der Prüfung:

    If Trim(Zelle.Value) = "" Then
      ' Zelle ist leer
    End If
  • Die Zelle wird als 0 erkannt: Achte darauf, dass die Zelle keine Standardwerte oder Formatierungen hat, die sie als 0 interpretieren. Teste die Zelle mit IsEmpty():

    If IsEmpty(Zelle) Then
      ' Zelle ist leer
    End If

Alternative Methoden

Es gibt verschiedene Alternativen, um eine leere Zelle in Excel VBA zu erkennen:

  • IsEmpty-Funktion: Diese Funktion prüft, ob eine Zelle leer ist, ohne den Wert zu berücksichtigen. Beispiel:
If IsEmpty(Zelle) Then
    ' Zelle ist leer
End If
  • VBA If Zelle leer prüfen: Du kannst auch direkt eine If-Anweisung verwenden:
If Zelle.Value = "" Then
    ' Zelle ist leer
End If

Diese Ansätze sind nützlich, um sicherzustellen, dass du die richtige Methode für deine Anforderungen verwendest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du in Excel VBA die leeren Zellen abfragen kannst:

  1. Shape-Farbe ändern, wenn Zelle leer:
Sub ShapeFarbeAendern()
    Dim Zelle As Range
    Set Zelle = ActiveSheet.Range("A1")

    If Zelle.Value = "" Then
        ActiveSheet.Shapes("MeinShape").Fill.ForeColor.SchemeColor = 1 ' Weiß
    End If
End Sub
  1. Leere Zellen auflisten:
Sub LeereZellenAuflisten()
    Dim Zelle As Range
    Dim LeereZellen As String
    LeereZellen = ""

    For Each Zelle In ActiveSheet.UsedRange
        If Zelle.Value = "" Then
            LeereZellen = LeereZellen & Zelle.Address & vbCrLf
        End If
    Next Zelle

    MsgBox "Leere Zellen: " & vbCrLf & LeereZellen
End Sub

Tipps für Profis

  • Verwende die Option Explicit: Deklariere alle Variablen, um Fehler zu vermeiden.
  • Nutze Debug.Print: Zum Testen von Variablenwerten im Direktfenster, um den Code zu debuggen.
  • Vermeide das leere Zeichen: Stelle sicher, dass keine Leerzeichen in der Zelle sind, da Excel leere Zellen mit einem Leerzeichen nicht als leer erkennt.

FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob eine Zelle leer ist? Du kannst die IsEmpty()-Funktion oder eine If-Anweisung wie If Zelle.Value = "" Then verwenden.

2. Warum wird meine leere Zelle als 0 angezeigt? Das passiert oft, wenn die Zelle ein Format hat, das 0 anzeigt. Überprüfe, ob die Zelle wirklich leer ist und keine unsichtbaren Zeichen enthält.

3. Was ist der Unterschied zwischen IsEmpty() und Zelle.Value = ""? IsEmpty() prüft, ob die Zelle jemals einen Wert hatte, während Zelle.Value = "" prüft, ob die Zelle jetzt leer ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige