Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nullformat
#1
Liebes Forum,

ich bin am verzweifeln, da ich trotz intensiver Bemühungen nicht dahinter komme, warum dieser Fehler passiert.
Ich habe mehrere gleiche Dateien wo in allen die gleichen VBA-Module verwendet werden und wo auch die Zellen alle gleich formatiert sind.
Trotzdem habe ich das Problem, dass in einer Datei in die per VBA eine 0,00 eingetragen wird, diese auch so erscheint, in einer anderen aber erscheint -0,00 und wenn ich diese Zelle doppelklicke, erscheint die Zahl -3,69482222595252E-13 was bei der Zelle in der anderen Datei mit der 0,00 Anzeige nicht passiert.
Kann mir bitte jemand helfen und weiß warum das passiert?
Ich suche schon seit Stunden und komme nicht dahinter.
Vielen Dank für Eure Hilfe.
Liebe Grüße aus Innsbruck
Helmut
Antworten Top
#2
Hi

da wäre mal der Codeteil, welcher diese Null einträgt, die nachher keine mehr ist, interessant...
Grüße,
Winny
[-] Folgende(r) 1 Nutzer sagt Danke an Winny für diesen Beitrag:
  • heli
Antworten Top
#3
Hallo Helmut

http://support.microsoft.com/kb/42980/de
http://support.microsoft.com/?id=196652

http://de.wikipedia.org/wiki/Gleitkommazahl
http://de.wikipedia.org/wiki/IEEE_754
https://web.archive.org/web/201502140157.../fp/fp.htm

http://www.youtube.com/watch?v=PZRI1IfStY0

http://www.clever-excel-forum.de/showthread.php?tid=257
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • heli
Antworten Top
#4
Hallo liebe Helfer,

mit den diversen Links fange ich leider nicht allzu viel an, da diese mein Problem, wie ich meine nicht wirklich behandeln, denn ich kann mir nicht vorstellen, dass die anstelle der 0,00 durch Doppelklick angezeigte Zahl -3,69482222595252E-13 durch Runden plötzlich verschwindet.
Nebenbei hat der Wert dieser Zahl eigentlich keinen, da ja noch ein Buchstabe E enthalten ist. Keine Ahnung wie sich diese Zahl bildet.

Für Winny füge ich den Codeteil bei, der den Wert 0,00 in Zelle AM1 überträgt. Ich hoffe Du kannst damit etwas anfangen.
Vielen Dank für Eure Hilfe.
Liebe Grüße
Helmut

Code:
Sub Übertr_v_Vormon_Alle()      
                                
Dim arrMon, i, Übertrag, ÜbertrZwiSum, loLetzte, loErste, aktTB, loSumme, BDV, EDV

arrMon = Array("Jänner", "Feber", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", _
"November", "Dezember")

aktTB = ActiveSheet.Name

For i = 0 To 11             
    
    Application.ScreenUpdating = False
   
   Sheets(arrMon(i)).Activate
   
   With Sheets(arrMon(i))
       loLetzte = .Range("M60").End(xlUp).Offset(0, 0).Row
       loSumme = .Range("A60").End(xlUp).Offset(0, 0).Row
       loErste = .Range("B" & loLetzte).End(xlDown).Offset(0, 0).Row
       
          
        .Range("AM1").Value = .Range("M" & loLetzte).Value      '+/- Übertrag kann + od. - od. 0 sein
       
        End With
             
   If (i) = 0 Then
GoTo weiter
   Else
   End If
   
   If Range("M" & loSumme).Value = 0 Then
   Range("M5").Value = 0
   Range("L7").Value = 0
GoTo Ende
   Else
   
   Range("M5").Select
   Range("M5").Value = Übertrag            'hier wird in "M5" der im Vormonat gelesene Wert "Übertrag" eingefügt
   End If
   
weiter:
   Übertrag = Range("M" & loLetzte).Value  'hier wird der Wert von diesem Monat für den nächsten Monat eingelesen
   Range("AM1").Value = Übertrag           'hier wird der Wert von diesem Monat in AM1 eingetragen
    
Ende:
 
Next i
    
End Sub
Antworten Top
#5
Die von dir gezeigte Zahl -3,69482222595252E-13 ist in xl-üblicher Exponentialschreibweise angegeben, Heli,
also tatsächlich eine, wenn auch sehr kleine Zahl, die nahe 0 liegt, aber kleiner als 0 ist. Du solltest also das Ergebnis der Berechnung im ProgrammCode runden, bevor du sie ins Blatt einträgst. Genau das haben auch die vorherigen Beiträge gemeint.
Allseits Gesundes Neues! Gruß, Castor
[-] Folgende(r) 1 Nutzer sagt Danke an Castor für diesen Beitrag:
  • heli
Antworten Top
#6
(07.01.2017, 19:58)heli schrieb: Nebenbei hat der Wert dieser Zahl eigentlich keinen, da ja noch ein Buchstabe E enthalten ist. Keine Ahnung wie sich diese Zahl bildet.
Anzeigen von Zahlen in wissenschaftlicher (exponentieller) Notation
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • heli
Antworten Top
#7
Smile 
Hallo Castor,

vielen Dank für Deinen Hinweis. Ich habe ihn befolgt und Gott sei Dank jetzt funktioniert es.
Ich bin trotzdem verwundert, dass der Fehler nicht bei allen mit gleichen Makros versehenen Dateien aufgetreten ist.
Nochmals Vielen Dank.

Liebe Grüße
Helmut
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste