Thema Datum  Von Nutzer Rating
Antwort
22.04.2014 14:34:03 Tanja
NotSolved
22.04.2014 14:41:31 Gast29716
NotSolved
22.04.2014 17:20:54 gabi
NotSolved
23.04.2014 13:21:04 Tanja
NotSolved
23.04.2014 13:52:27 gabi
NotSolved
23.04.2014 14:04:27 gabi
NotSolved
24.04.2014 08:10:20 Tanja
NotSolved
24.04.2014 08:36:31 gabi
NotSolved
24.04.2014 15:36:25 gabi
NotSolved
25.04.2014 08:17:49 Tanja
NotSolved
25.04.2014 08:26:08 Tanja
NotSolved
Blau Husten – wir haben ein Problem
25.04.2014 18:04:48 gabi
NotSolved
25.04.2014 21:40:18 gabi
NotSolved
28.04.2014 07:56:04 Gast92326
NotSolved
29.04.2014 08:07:45 Tanja
NotSolved
29.04.2014 18:31:05 gabi
NotSolved
29.04.2014 20:29:55 Gast88218
NotSolved
29.04.2014 20:54:09 gabi
NotSolved
30.04.2014 07:53:33 Tanja
NotSolved
30.04.2014 17:44:45 Gast35205
NotSolved

Ansicht des Beitrags:
Von:
gabi
Datum:
25.04.2014 18:04:48
Views:
1446
Rating: Antwort:
  Ja
Thema:
Husten – wir haben ein Problem

E L E F A N T A S T I S C H    ! ! !

(Husten – wir haben ein Problem)

 

als du eingangs deine Frage sooo schön abstrakt formuliert hast, dachte ich nicht im Traum daran, DASS

wir mit dem Algorithmus "Zahlen so lange summieren, bis die neue Zahl die hinzukommt, das Ergebnis verdoppelt" in einer "quasi" kfm. Tabelle ankommen

(eher an ein Zahlenrätsel :-O).

 

Alles mündet in der Aufgabe  eine gebildete Summe mit einem Wert zu vergleichen und ausgerechnet fast auf Anhieb hattu die Schwachstelle erwischt.

(oTon Microsoft "Diese kleine Abweichung bei der Darstellung von 0,0001 im Binärsystem kann bei Additionen einen erheblichen Einfluss auf die Gesamtsumme haben. Aus demselben Grund sollten Sie bei Vergleichen reeller Zahlen immer sehr vorsichtig sein. ")

 

Mein Demo - Code dazu unten :

 

Was tun sprach Zeus, wenn schon die "Götter" besoffen. Irgendwie müssen wir die Aufgabe "anders" bewältigen, daher :

 

Wie kommen die EURonen in die Tabelle (zu Fuß per Handzeichen oder aus einem anderen Programm / Makro) ?

Sind die Beträge aus irgendwelchen Formeln abgeleitet ?

Sind die Zellen formatiert ? - (was ja keinen Einfluss auf deren Wert), nur habe ich festgestellt, dass z.B. diverses Kopieren jeden Code plötzlich die Bedingung als "erfüllt" vermittelt.

 

Toleranzen in Bruchteilen von Cent zu erlauben wäre vielleicht eine Methode, nur möchte ich da erst das endgültige "Produkt" kennen !

 

Option Explicit

Sub perPedes()
Dim x As Long
Dim Ad As Double

With Range(Cells(5, 1), Cells(15, 1))
  .Clear
  .NumberFormat = "General"
End With
'Zahlenreihe wie von Tanja vorgegeben erzeugen
Cells(5, 1).Value = 802.4
Cells(7, 1).Value = 468
Cells(9, 1).Value = 2230
Cells(11, 1).Value = 1969.82
Cells(13, 1).Value = 106.56
Cells(14, 1).Value = 338

Cells(15, 1).Value = 5914.78
'Auswerten durch schlichtes Zusammenzählen
For x = 5 To 15
  If Cells(x, 1).Value = Ad Then
    MsgBox Cells(x, 1).Address
  Else
  Ad = Ad + Cells(x, 1).Value
  End If
Next x
End Sub

Sub Dagegen()
Dim x As Long
Dim Ad As Double
Dim Wert As Double
With Range(Cells(5, 1), Cells(15, 1))
  .Clear
  .NumberFormat = "General"
End With
'Zahlenreihe gering verändert
Wert = 802.4
Cells(5, 1).Value = 802.4
Cells(7, 1).Value = 468
Cells(9, 1).Value = 2230
Cells(11, 1).Value = 1969.82
Cells(13, 1).Value = 106
Cells(14, 1).Value = 338.33

Cells(15, 1).Value = 5914.55

'Auswerten wie vor
For x = 5 To 15
  If Cells(x, 1).Value = Ad Then
    MsgBox Cells(x, 1).Address
  Else
  Ad = Ad + Cells(x, 1).Value
  End If
Next x
End Sub

Sub Microsoft()
'oTon aus KB D44053, hier wird das Problem so beschrieben
'Nehmen wir das folgende einfache Beispiel
Dim i, sum, item1, item2
 sum = 0
   For i = 1 To 10000
      sum = sum + 0.0001
   Next i
   MsgBox sum                   ' Theoretisch = 1,0.
  'oder
  item1 = 69.82
   item2 = 69.2 + 0.62          'sollte 69,82 ! sein
   If item1 = item2 Then
    MsgBox "Equality!"
   Else
    MsgBox "Sch................!"
   End If
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.04.2014 14:34:03 Tanja
NotSolved
22.04.2014 14:41:31 Gast29716
NotSolved
22.04.2014 17:20:54 gabi
NotSolved
23.04.2014 13:21:04 Tanja
NotSolved
23.04.2014 13:52:27 gabi
NotSolved
23.04.2014 14:04:27 gabi
NotSolved
24.04.2014 08:10:20 Tanja
NotSolved
24.04.2014 08:36:31 gabi
NotSolved
24.04.2014 15:36:25 gabi
NotSolved
25.04.2014 08:17:49 Tanja
NotSolved
25.04.2014 08:26:08 Tanja
NotSolved
Blau Husten – wir haben ein Problem
25.04.2014 18:04:48 gabi
NotSolved
25.04.2014 21:40:18 gabi
NotSolved
28.04.2014 07:56:04 Gast92326
NotSolved
29.04.2014 08:07:45 Tanja
NotSolved
29.04.2014 18:31:05 gabi
NotSolved
29.04.2014 20:29:55 Gast88218
NotSolved
29.04.2014 20:54:09 gabi
NotSolved
30.04.2014 07:53:33 Tanja
NotSolved
30.04.2014 17:44:45 Gast35205
NotSolved