Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

1x Überlauf, 1x nicht ( fast gleicher code) suche nach kritischen Augen





Frage

Moin, ich habe folgendes Problem: Ich habe eine Tabelle, aus der sich jm selber ein intervall und die anzahl der Monate selbst wählen darf. das ganze gibt es genau 2x in der datei. einmal für eine anzahk besucher und einmal für den umsatz. beim umsatz gibt es die fehlermeldeung überlauf, bei der anzahl nicht... habe schon ein wenig mit den bezeichnern gespielt... evt liegt es ja daran!? Der Überlauffehler tritt bei Monate größer 5 auf! ich versteh das leider nicht.... drehe gleich durch^^ hier läuft es mit jeder anzahl von monaten Code: [code]Sub ChartErzeugen() Dim m As Integer Dim n As Integer Dim d As Single Dim s As Long Dim x As Integer Dim i As Single Dim u As Integer Dim o As Integer Dim l As Integer Dim Monate As Integer With Sheets(14) u = InputBox("untere Intervallsgrenze") o = InputBox("obere Intervallsgrenze") Monate = InputBox("Wie viele Monate möchten Sie angezeigt bekommen?") Application.StatusBar = "Haben sie bitte etwas Gedult, Daten werden erstellt !" Application.ScreenUpdating = False Sheets(24).Range("A6:D65000").Clear l = Sheets(24).ChartObjects.Count If l > 0 Then Sheets(24).ChartObjects.Delete End If Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=Sheets(24).Range("G15") For m = 1 To Monate For x = u To o d = d + .Range("A" & x - 3) * .Cells(x - 3, m + 1) s = s + .Cells(x - 3, m + 1) Next x i = d / s ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(m).Values = i ActiveChart.SeriesCollection(m).Name = .Cells(6, m + 1) Next m ActiveChart.SeriesCollection(1).XValues = "Durchschnittlicher index im angegebenen Intervall" ´.Cells(5, 2) ActiveChart.Location Where:=xlLocationAsObject, Name:="persönlich" ActiveChart.HasTitle = True ActiveChart.ChartTitle.Characters.Text = " Intervall " & u & " - " & o ´.Cells(6, 1) Sheets(24).Range("A6:D65000").Interior.ColorIndex = 15 Sheets(24).Range("A6:D65000").Interior.Pattern = xlSolid Sheets(24).Select Application.ScreenUpdating = True Application.StatusBar = False End With End Sub [/code] und hier kommt es immer wieder zum Überlauf Code: [code]Sub UmsatzChartErzeugen() Dim m As Long Dim n As Long Dim d As Single Dim s As Long Dim x As Long Dim i As Single Dim u As Long Dim o As Long Dim l As Long Dim Monate As Long With Sheets(16) u = InputBox("untere Intervallsgrenze") o = InputBox("obere Intervallsgrenze") Monate = InputBox("Wie viele Monate möchten Sie angezeigt bekommen?") Application.StatusBar = "Haben sie bitte etwas Gedult, Daten werden erstellt !" Application.ScreenUpdating = False Sheets(24).Range("A6:D65000").Clear l = Sheets(24).ChartObjects.Count If l > 0 Then Sheets(24).ChartObjects.Delete End If Charts.Add ActiveChart.ChartType = xlColumnClustered ActiveChart.SetSourceData Source:=Sheets(24).Range("G15") For m = 1 To Monate For x = u To o s = s + .Cells(x - 3, m + 1) ´ Summe Next x i = s ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(m).Values = i ActiveChart.SeriesCollection(m).Name = .Cells(6, m + 1) Next m ActiveChart.SeriesCollection(1).XValues = "Umsatzsumme im angegebenen Intervall" ´ .Cells(5, 2) ActiveChart.Location Where:=xlLocationAsObject, Name:="persönlich" ActiveChart.HasTitle = True ActiveChart.ChartTitle.Characters.Text = " Intervall " & u & " - " & o Sheets(24).Range("A6:D65000").Interior.ColorIndex = 15 Sheets(24).Range("A6:D65000").Interior.Pattern = xlSolid Sheets(24).Select Application.ScreenUpdating = True Application.StatusBar = False End With End Sub [/code] Wäre klasse wenn ihr mir helfen könntet... sehe grade den Wald vor lauter Bäumen nicht mehr... werde mir jetzt noch einen Kaffe holen sonst ist der Tag gleich fürn A**** Gruß Hansen

Antwort 1 von cmkatz

Hallo,

an welcher Stelle genau passiert den der Überlauf?

Gruß
cmkatz

Antwort 2 von Hansen

wäre gut gewesen das zu erwähnen oder :-D

der überlauf passiert hier:
s = s + .Cells(x - 3, m + 1) ´ Summe 


Antwort 3 von cmkatz

Wie groß sind denn die Werte so, die da addiert werden?

erreichen die –9.223.372.036.854.755.807 bis +9.223.372.036.854.755.807 ??

Wohl eher nicht, oder?

Gruß
cmkatz

Antwort 4 von nighty

hi all :))

bei den zuweisungen der zeilen wie spalten sollte die 1 nicht unterschritten werden,
mit f8 einzelschrittabarbeitung und anschliessender kontrolle der var (mit der mouse auf die var im quelltext ,zeigt dir den momentanen wert an)könnte man die fehlersuche vereinfachen.

wenn zum beispiel x=2 zugewiesen wurde
dann hätte ja x-3 einen minuswert ???

gruss nighty

Antwort 5 von Hansen

Danke für die Tipps.

Der Wert 9.223.372.036.854.755.807 wird nicht überschritten und x ist minimum 10, kommt damit also nicht ins negative.

Gruß
Hansen

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: