Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1708to1712
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Überlauf

Überlauf
19.08.2019 20:44:04
Marc
Guten Abend liebe Forumsgemeinde,
heute verzweifle ich an der Fehlermeldung "Überlauf". =)
Vermutlich liegt es daran, dass aus meiner Rechenoperation ein Wert mit sehr vielen Nachkommastellen resultiert. Der Versuch, die Rechenoperation in einer Round Funktion durchzuführen führt leider auch nicht zum Erfolg. Wie ich gelesen habe taucht dieser Fehler eigentlich auf wenn man Variablen unpassende Werte zuweist aber in diesem Fall gibt es keine Variable denn die Berechnung bezieht sich auf den Inhalt einer Zelle.
Private Sub m_TWSControl_fundamentalData(ByVal reqId As Long, ByVal data As String)
Dim xmlDoc As Object
Set xmlDoc = CreateObject("Microsoft.XMLDom") 'XMLDocument Object erstellen
xmlDoc.LoadXML (data)
Dim fYears As Object '
Dim Period As Object
Dim attrColl As Object
Dim kpiColl As Object
Dim kpi As Object
Dim kpiSheet As Object
Dim Line As Integer
Line = 0
Set kpiSheet = ThisWorkbook.Worksheets("KPI´s")
Set fYears = xmlDoc.getElementsByTagName("FiscalPeriod")
For Each Period In fYears
Line = Line + 1
If Period.getAttribute("Type") = "Annual" Then
Set attrColl = Period.Attributes
kpiSheet.Cells(Line, 1).Value = attrColl.Item(2).Value
Set kpiColl = Period.getElementsByTagName("lineItem")
For Each kpi In kpiColl
If kpi.getAttribute("coaCode") = "OTLO" Then
kpiSheet.Cells(Line, 2).Value = kpi.Text
ElseIf kpi.getAttribute("coaCode") = "SDWS" Then
kpiSheet.Cells(Line, 3).Value = kpi.Text
End If
Next kpi
Else
End If
kpiSheet.Cells(Line, 4).Value = Round((kpiSheet.Cells(Line, 2).Value) / (kpiSheet.Cells(Line, 3) _
.Value), 2)
kpiSheet.Cells(Line, 4).NumberFormat = "0.00"
Next Period
End Sub
Weshalb erhalte ich diesen Fehler und wie kann ich ihn beheben?
VG,
Marc

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überlauf
19.08.2019 21:22:49
{Boris}
Hi,
also die einzige Variable, die überlaufen könnte, ist Line. Da Du sie nur als Integer deklariert hast, könnte das der Fehler sein.
Was passiert, wenn Du sie mindestens mal als Long deklarierst?
VG, Boris
AW: Überlauf
19.08.2019 21:27:32
Marc
Hallo Boris,
ich hatte dazu erwähnen sollen, dass die folgende Zeile vom Debugger gelb markiert wird als Fehlerquelle:
kpiSheet.Cells(Line, 4).Value = Round((kpiSheet.Cells(Line, 2).Value) / (kpiSheet.Cells(Line, 3) _
_
.Value), 2)
Die Variable Line war zuvor als Long Variable deklariert und das Ergebnis war das Gleiche. Als Double taucht der fehler ebenfalls auf.
Übrigens läuft der Code bis zum Ende und schreibt alle Ergebnisse in die Tabelle. Erst dann kommt der Fehler, was mir auch nicht wirklich einleuchtet.
Sicher, dass es keine andere Fehlerquelle sein kann?
Anzeige
Fehlersuche...
19.08.2019 21:33:25
{Boris}
Hi,
...ohne Deine Datei zu kennen, ist nicht ganz einfach.
Deklarier mal ne weitere Variable
dblRound As Double
und schreib im Code dann:
dblRound = Round((kpiSheet.Cells(Line, 2).Value) / (kpiSheet.Cells(Line, 3).Value), 2)
kpiSheet.Cells(Line, 4).Value = dblRound
Welchen Wert hat dblRound zum Zeitpunkt des Fehlers?
Alternativ lad doch mal die Datei hoch.
VG, Boris
AW: Fehlersuche...
19.08.2019 21:37:36
Marc
Oh, jetzt haben sich unsere Antworten überschnitten.
Was Du gerade geposted hast ahtte ich aber schon versucht. Allerdings werde ich den Wert der variable nochmal checken wenn der Code läuft. Danke.
Anzeige
AW: Fehlersuche...
19.08.2019 22:00:48
Marc
Ich hab den Fehler gefunden. Sobald Line den Wert 7 annimmt entsteht das Problem denn der Rechenoperation fehlt dann ein Nenner.
Vielen Dank für Deine Hilfe Boris!
AW: Fehlersuche...
19.08.2019 22:18:19
onur
Welchen Wert hat Line, wenn die Meldung kommt?
Hast du mal Line als Variant deklariert?
Wie rufst du die Sub auf?
Mensch Onur...
19.08.2019 22:19:22
{Boris}
Hi,
...lies die Threads doch mal bis zum Ende ;-)
VG, Boris
AW: Mensch Onur...
19.08.2019 22:21:56
onur
Wenn der Thread noch als "offen" deklariert ist?
AW: Alles gut ;-)
19.08.2019 23:01:22
Marc
Ich hatte den Thread doch mit dem letzten Beitrag geschlossen.
AW: Überlauf
19.08.2019 21:35:21
Marc
Vergiss das mit Double. Ich hatte zuvor versucht die Kalkulation in eine Double Variable zu packen und den Fehler so zu umgehen aber das hatte auch nichts gebracht.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige