Discussion:
VBA-Zahlenvergleich
(zu alt für eine Antwort)
Jimmyt
2007-02-22 18:11:34 UTC
Permalink
Hi,

eine Verständnisfrage:

Folgender Vergleich:


Code:

...
If rngTief.Value <= rngKV.Offset(-1, 0).Value Then
...




Der Wert für rngTief wird eingetippt, der Wert für rngKV.offset(-1,0) wird
per VBA errechnet und dann automatisch eingetragen.

Der Vergleich stimmt aber nicht. rngTief ist auf jeden Fall größer als
rngKV.offset(-1,0), trotzdem sieht VBA rngKV.offset(-1,0) als größer an.
Bin den Code mehrmals mit F8 durchgegangen.

Die Frage ist: weshalb kann VBA diese Wert nicht richtig vergleichen?
Vielleicht muss rngKV.offset(-1,0) speziell formatiert werden?

Habe die Frage schon in einem anderen Forum gestellt ohne eine Antwort zu
bekommen.
Daher für jeden Tipp dankbar.

Gruß
Thomas Ramel
2007-02-22 21:13:05 UTC
Permalink
Grüezi Jimmyt

Jimmyt schrieb am 22.02.2007
Post by Jimmyt
...
If rngTief.Value <= rngKV.Offset(-1, 0).Value Then
...
Der Vergleich stimmt aber nicht. rngTief ist auf jeden Fall größer als
rngKV.offset(-1,0), trotzdem sieht VBA rngKV.offset(-1,0) als größer an.
Bin den Code mehrmals mit F8 durchgegangen.
Die Frage ist: weshalb kann VBA diese Wert nicht richtig vergleichen?
Vielleicht muss rngKV.offset(-1,0) speziell formatiert werden?
Welches Zellenformat haben denn die beiden Zellen?

Wenn die eine im Textformat vorliegt kannst Du durchaus solche Probleme
haben.

Teste vielleicht mal folgendes:

If CDbl(rngTief.Value) <= CDbl(rngKV.Offset(-1, 0).Value) Then

Wenn dieser Vergleich dann deinen Vorstellungen entspricht dürfte die
Ursache im Zellenformat liegen.
Formatiere dann beide Zellen im Tabelenblatt als 'Standard' oder 'Zahl',
dann müsste auch der direkte Vergleich in VBA klappen



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps
Loading...