VBA - Überlauf Fehler 6 geschlossen 

Status
Für weitere Antworten geschlossen.

AS-123

Registered +
Registriert
Juni 2008
Beiträge
60
Hallo All
folgendes VBA Problem ich habe ein recht großes Makro zur Erstellung eines Diagrammes. Nun kommt eine Fehlermeldung "Debuggen - Fehler 6 - Überlauf" dabei habe ich gerade mal 130 Daten erfasst. Hatte unter Excel 2003 das gleiche Diagramm aber dort konnte ich wenigstens 30000 Daten erfassen. Jetzt unter Excel 2007 musste ich aber die Diagramm erstellung mittels Makro realiesieren weil ansonsten das eingebettete Diagramm einfach keine neuen Daten anzeigen will. Vielleicht hat jemand hier einen Tipp für mich.
Makro:
Sub dia_erstellen_bei_Kursabfrage()
'erstellt das DIA bei der Kursabfrage wird also im Modul Kurs mit Call aufgerufen
'erstellt das Diagramm
'es werden immer nur die Daten geschrieben die von B125 an auftauchen
Dim lku As Byte
Dim dia As ChartObject
Dim Name As String
'-------------------------------------------------------------------------------------------------------------
Name = Sheets("IAbfr").Range("A1") 'ermittelt den Blattnamen
lku = Worksheets(Name).Cells(Rows.Count, 2).End(xlUp).Row 'lku ist der letzte erfaste Kurs

Worksheets(Name).ChartObjects(1).Delete
Set dia = Worksheets(Name).ChartObjects.Add(8, 1030, 760, 430)
dia.Name = "Kurs"

If lku = 125 Then

With dia.Chart
.ChartType = xlLine
.SetSourceData Source:=Worksheets(Name).Range("B125:D" & lku)
.SeriesCollection(1).XValues = Worksheets(Name).Range("B125:B" & lku)
.SeriesCollection(1).Name = "=""Kurs"""
End With

Else

With dia.Chart
.SetSourceData Source:=Worksheets(Name).Range("B125:D" & lku)
.ChartType = xlLine
.SeriesCollection(1).XValues = Worksheets(Name).Range("B125:B" & lku)
.SeriesCollection(1).Name = "=""Kurs"""
.SeriesCollection(2).Name = "=""G/V"""
End With

End If

End Sub

Danke schon mal im Voraus.
 
Zuletzt bearbeitet von einem Moderator:
Ho,

lku (also wohl mit Nachkommastellen) als Byte?
Nimm SINGLE, dann hat sich vielleicht schon dein Problem erledigt ...

Greetz
cpt. Nemo
 
Hallo
Danke für den Tipp.
lku ist eigentlich keine Nachkommastelle sondern nur die Zahl der letzten vollen Zelle gerechnet von unten bis 125. Deshalb hatte ich Byte genommen hab jetzt aber auf Single umgestellt und es scheint nun zu funzen warum auch immer.
Excel 2007 hat halt so seine Eigenarten. :mad:
Danke und noch schönes WE
 
lku ist eigentlich keine Nachkommastelle sondern nur die Zahl der letzten vollen Zelle gerechnet von unten bis 125. Deshalb hatte ich Byte genommen
Prima, wie im Lehrbuch (das meine ich positiv!). ich habe genau so gehandelt. Allerdings bin ich davon abgekommen, den Datentyp BYTE zu verwenden. Heute haben wir ja etwas mehr an Arbeitsspeicher und da gönne ich mir INTEGER oder SINGLE bzw. die nächstgrößere Variante.
hab jetzt aber auf Single umgestellt und es scheint nun zu funzen warum auch immer.
Excel 2007 hat halt so seine Eigenarten. :mad:
Ich kennen die 2007er Version nicht, aber schau doch einmal nach, welchen Zahlenbereich (jetzt) BYTE umfasst. Es muss ja nicht 0..255 sein, es kann ja auch -128..+127 sein. Das würde zumindest das merkwürdige Verhalten erklären.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten