Microsoft Excel

Herbers Excel/VBA-Archiv

Habe Probleme mit der If Funktion in VAB

Betrifft: Habe Probleme mit der If Funktion in VAB von: Bettinger
Geschrieben am: 29.07.2014 08:30:20

Hallo,

ich will in VAB Cellen aus einer Exelliste Vergeichen. Habe hierzu alle Cellen die Vergichen werden als Zahlen mit 2 Nachkommastellen Formatiert. Wenn ich nurn in VAB Cellen Addiere funktioniert die If Funtion nicht mehr Ordnungsgemäß.

Dim x As Double
Dim y As Double

for Z=2 to 1000

for c2=2 to 1000

x = Cells(Z, 9) + Cells(Z + 1, 9)
y = Cells(c2, 8)

If x = y Then
...
end if


If CDbl(Cells(Z, 9) + Cells(Z + 1, 9)) = CDbl(Cells(c2, 8)) Then
...
end if

next c2

next Z

Beide Ifs funktionieren nicht wenn ich im Überwachungsfenster die Werte der Variblen ansehe sind diese Identisch, VAB geht jedoch in keine der If Schleifen und springt sofort bis zum end if. Im Anhang die Ansicht des Überwachungsfensters.



Gruß Stefan

  

Betrifft: AW: Habe Probleme mit der If Funktion in VAB von: Martin
Geschrieben am: 29.07.2014 08:54:19

Hallo Stefan,

probiee es mal so:

Sub Test()
    Dim Z As Long
    Dim x As Double, y As Double


    For Z = 2 To 1000
    
        x = Cells(Z, 9) + Cells(Z + 1, 9)
        y = Cells(Z, 8)
     
        If x = y Then
        
            '...
        
        End If

    Next Z

End Sub
MfG

Martin


  

Betrifft: AW: Habe Probleme mit der If Funktion in VAB von: Bettinger
Geschrieben am: 31.07.2014 07:30:51

Hallo Martin,

auch so geht es nicht. DAs komische ist, wenn ich in Excel die zwei Werte Addiere und sie mit der Wenn funktion vergleiche sagt Excel die zwei werte sind gleich aber nicht VAB.


Gruß Stefan


  

Betrifft: AW: Habe Probleme mit der If Funktion in VAB von: EtoPHG
Geschrieben am: 29.07.2014 09:00:40

Hallo Stefan,

Zitat:...werden als Zahlen mit 2 Nachkommastellen Formatiert
Genau das ist dein Problem. Was du auf dem Blatt siehst, ist nicht das was in der Zelle als Wert gespeichert ist. Formatieren heisst eben nur, 'anders' darstellen. Wenn du auf 2 Kommastellen formatierst, werden die restlichen Stellen nicht dargestellt, sind aber immer noch da. Das Vergleichen von Gleitkommawerten, kann immer zu Ungleichheit führen, wo eigentlich Gleichheit erwartet wird. Lies dazu diesen Artikel (technischer Hintergrund)!

Gruess Hansueli
P.S. Bei deinem VBA-Level müsste das eigentlich bekannt sein!


  

Betrifft: AW: Habe Probleme mit der If Funktion in VAB von: Bettinger
Geschrieben am: 30.07.2014 15:20:58

Hallo Hansueli,

an der Rundung liegt es aber nicht, wenn ich mir alle nachkommastellen Zeigen lasse kommt nach der 2. Stellen nur noch nullen.

Außerdem müsste dann doch in der Überwachung der komplette Wert der Variable angezeigt werden, oder ?

Gruß Stefan


  

Betrifft: Wenn's nicht an der Rundung liegt... von: EtoPHG
Geschrieben am: 30.07.2014 16:26:50

Stefan,

Dann lade doch mal eine Beispielmappe hier ins Forum, der deine Aussagen beweist.

Gruess Hansueli


  

Betrifft: AW: Wenn's nicht an der Rundung liegt... von: Bettinger
Geschrieben am: 30.07.2014 22:25:29

Hier eine Beispielsmappe.

https://www.herber.de/bbs/user/91798.xlsm

Es sollen Buchungskositionen gelöscht werden, welche sich gegensietg aufheben. Ich habe grün makiert, wo es nicht funktioniert, das sind die gleichen wie in dem Beispiel welches ich zu beginn gepostet habe.

Gruß Stefan


  

Betrifft: AW: Wenn's nicht an der Rundung liegt... von: EtoPHG
Geschrieben am: 31.07.2014 08:47:03

Hallo Bettinger,

Damit beweist du ja nur, dass du die Rundung nicht angewendet hast, denn:

?cells(78,8) = cells(79,9)+cells(80,9)

im Direktfenster ergibt FALSCH, wogegen
?Round(Cells(78,8),2) = Round(Cells(79,9)+Cells(80,9),2)

WAHR ergibt. Quod Erat Demonstrandum!

Gruess Hansueli


  

Betrifft: H-ueli meint sicher dein Xl-Level, ... von: Luc:-?
Geschrieben am: 29.07.2014 09:13:49

…Stefan;
aber, da du addierst, führt kein Weg am Runden vorbei! (Martin liegt mit seinem Vorschlag sicher völlig daneben! ;-])
Gruß, Luc :-?


  

Betrifft: Genau Luc, XL nicht VBA... danke (owT) von: EtoPHG
Geschrieben am: 29.07.2014 09:17:35




 

Beiträge aus den Excel-Beispielen zum Thema "Habe Probleme mit der If Funktion in VAB"