Hallo habe ein Problem in VBA Zelle leer

Hallo,
habe ein Problem
ich will dass der Makro bei null oder leer anhält und habe so mein Makro geschriben aber Funktioniert nicht wenn ich die Zelle A1 mit den Leertaste leere dann erkent er nicht dass die Zähle leer ist.
Frage was mache ich falsch?
Im voraus besten Dank
Flauta

Sub ZelleLe()
With ComboBox1
Sheets(„Tabelle1“).Select
If Range(„A1“) = 0 Or Range(„A1“) = „“ Then
MsgBox " kein Wert A1"
Exit Sub
End If
End With
End Sub

Hi,

wenn in der Zelle ein Leerzeichen enthalten ist, dann ist die Zelle ja nicht wirklich leer. Um führende und nachgestellte Leerzeichen zu entfernen trim() benutzten.

Sub ZelleLe()
With ComboBox1
Sheets(„Tabelle1“).Select
If Trim(Range(„A1“).Value) = 0 Or Trim(Range(„A1“)) = „“ Then
MsgBox " kein Wert A1"
Exit Sub
End If
End With
End Sub

So sollte es gehen. Wenn nicht bitte noch einmal melden.

MfG

Hallo flauta,
durch das sogenannte „leeren“ wird in die Zelle „A1“ eine Leertaste geschrieben. Die Zelle ist nun nicht leer sondern „voll“ (sie enthält eine Leertaste).

Um zusätzlich zu überprüfen, ob in der Zelle eine Leertaste steht, würde ich die If-Überprüfung um eine zusätzliche Überprüfung ergänzen:

If IsEmpty(Range(„A1“)) = 0 Or Range(„A1“) = „“ Or Range(„A1“) = " " Then

Ich hoffe ich konnte so weiterhelfen!

Es hat geklapp, vielen Dank,
Flauta

Hallo,

dieses Problem umfasst VBA (Visual basic for Applications) und nicht reines Visual Basic (VB), was mein Fachgebiet ist.

Bitte frage einen entsprechenden VBA-Experten.

Hallo
Ich kenne mich nicht sehr gut mit VBA aus sondern nur mit VB. Ich würde aber sagen das Problem ist das ein Leerzeichen zum löschen der Zeile im Programmieren ein Zeichen ist. (mache ein Trim auf den Inhalt und schaue ob der zurückgegebene Wert „“ ist. Prüfe bitte mal diese Lösung.
Gruß

Hallo,
habe ein Problem
ich will dass der Makro bei null oder leer anhält und habe so
mein Makro geschrieben aber Funktioniert nicht wenn ich die
Zelle A1 mit den Leertaste leere dann erkennt er nicht dass die
Zähle leer ist.
Frage was mache ich falsch?
Im voraus besten Dank
Flauta

Sub ZelleLe()
With ComboBox1
Sheets(„Tabelle1“).Select
If Range(„A1“) = 0 Or Range(„A1“) = „“ Then
MsgBox " kein Wert A1"
Exit Sub
End If
End With
End Sub

Hallo,
Ich bin mir nicht sicher, aber = „“ ist nicht das gleiche wie nichts

Versuche mal = vbnullstring zu schreiben.
wenn das nicht hilft melde dich nochmal

MFG
Sascha

Hi,

aber Funktioniert nicht wenn ich die
Zelle A1 mit den Leertaste leere
dann erkent er nicht dass die Zähle leer ist.

Na, wahrscheinlich, weil die Zelle dann gar nicht leer ist :wink:

  • Wenn du ein Leerzeichen einfügst, dann steht auch ein drin!
    (ein „leeres“ Zeichens ist dennoch ein Zeichen)

If Range(„A1“) = 0 Or Range(„A1“) = „“ Then

If Val(Range(„A1“)) = 0 Then
sagt zu allem „kein Wert“, was 0 und keine Zahl ist.