dummer-esel
Goto Top

Leere Zelle nicht leer?

Hallo,

ich habe ein Makro (VBA, Excel) geschrieben, das bestimmte Zellen von der einen in die andere Excel-Datei einfügt.

Nun wollte ich prüfen, ob die eingefügte Zelle leer ist, um ggf. eine Meldung auszugeben.
Seltsamerweise scheint die Zelle nicht leer zu sein, obwohl sie eindeutig leer ist!

Folgendes habe ich probiert, ist aber alles "False":
Cells(y, x).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

If (Cells(y, x) = 0 Or Cells(y, x) = "") ...  

If CStr(Cells(y, x).Value) = "" ...  

If IsEmpty(Cells(y, x).Value) ...

die Zelle ist eindeutig leer: keine Leerzeichen/Tabs drin, keine Formeln.
Wie kann ich korrekt prüfen, ob ein Wert drinsteht?

Danke schon mal!

Content-ID: 201451

Url: https://administrator.de/contentid/201451

Ausgedruckt am: 23.11.2024 um 04:11 Uhr

Pjordorf
Pjordorf 08.02.2013 um 13:18:02 Uhr
Goto Top
Hallo,

Zitat von @dummer-esel:
Seltsamerweise scheint die Zelle nicht leer zu sein, obwohl sie eindeutig leer ist!
Dann wäre doch interesant zu sehen was dort drinnen sein soll, oder? Dir mal isnull oder isblank http://www.techonthenet.com/excel/formulas/isnull.php und http://www.techonthenet.com/excel/formulas/isblank.php angeschaut? Oder hier http://www.mrexcel.com/forum/excel-questions/42495-better-explanation-n ....

Gruß,
Peter
dummer-esel
dummer-esel 08.02.2013 um 14:02:13 Uhr
Goto Top
Hi Peter,

Dann wäre doch interesant zu sehen was dort drinnen sein soll, oder?
gute Idee! Wie mache ich das am besten? Ich habe es mal mit einer MsgBox versucht:
MsgBox("->" & Cells(y, x).Value & "<-", vbOKOnly)  
aber das Ergebnis sah dann lediglich so aus: -> <-
(ob da ein Leerzeichen zwischen war kann ich nicht sagen, da ich es nicht markieren konnte)

ebenfalls "false"

wenn ich die Zelle später in der Excel-Tabelle direkt überprüfe (also nach der Ausführung des Makros), ist es alles schön und gut. Sowohl =ISTLEER(A2) als auch =WENN(A2=""; ...; ...) geben TRUE aus.

Bei der Ausführung des Makros scheint aber noch irgend etwas drin zu stehen.

Ich habe noch eine mögliche Fehlerquelle:
- In der Tabelle, woraus kopiert wird, sind mehrere Zellen verbunden.
- In der Einfügen-Tabelle wird das dann in mehrere (nicht verbundene) Zellen eingefügt, wobei nur in der 1. ein Wert steht
- Wenn im Original kein Wert vorhanden ist (trotzdem sind die Zellen verbunden), dann ist auch die erste Zelle leer
-> Kann es also irgendwie damit zusammenhängen, dass beim kopieren mehrere Zellen verbunden waren?

Danke!
dummer-esel
dummer-esel 11.02.2013 um 19:55:11 Uhr
Goto Top
Ich werde noch verrück!

Dies hier
MsgBox(Len(Cells(zeile, 1).Value), vbOKOnly)

liefert mir 0 zurück. (hab auch einen Screenshot gemacht, falls es jemanden interessiert.)

Allerdings wird die Zeile davor
If Len(Cells(zeile, 1).Value) = 0 Then ...

nicht ausgeführt bzw. die Bedingung scheint "false" zu sein.

Woran liegt das?
Hier ist doch irgendwas faul!!

Danke für jegliche Hilfe/Ideen!