Anzeige
Archiv - Navigation
216to220
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
216to220
216to220
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Charts zum verzweifeln...

Charts zum verzweifeln...
15.02.2003 19:45:43
Tino
Hi,
Ich bin fast am verzweifeln. Ich moechte ein Chart mit Hilfe eines Macros erstellen. Die Werte werden dabei in einem Array eingelesen und dem Chart zugewiesen. Leider bekomme ich beim folgenden code im eine Laufzeitfehler (1004).

Der Code funktioniert (oder auch nicht) wie folgt:

In Zelle A1 habe ich eine formel eingegeben, das Ergebnis aus A1 wird in A2 gespeichert und ein neuer Wert, der sich auf dem vorhergehenden bezieht, wird in A1 wird berrechnet. Also

X(n+1) = X(n)+…

Hier der Code:

Dim varYArray(40) As Variant
varYArray(1) = ActiveSheet.Cells(2, 2)

For i = 1 To 40
varYArray(i) = ActiveSheet.Cells(2, 1)
ActiveSheet.Cells(2, 2) = varYArray(i)
Next i

'create new chart
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = varYArray
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"

Ich glaube, dass Problem liegt bei der Array-Definition. Es sind 40 Werte erlaubt, aber irgendwie zaehlt mein For…Next Loop immer bis 41. Dabei ist mein Array natuerlich ueber den zugelassenen Bereich und wenn ich den Array einem Chart zuweise gibt es natuerlich Probleme.

Ich sollte vielleicht auch erwaehnen, dass ich “option base 1” benutze. Test wie nur bis 39 zaehlen habe ich auch schon getestet.

Hat jemand eine idee????

Danke
Tino

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Charts zum verzweifeln...
15.02.2003 20:00:33
andre

hallo tino,
das problem ist das array. wenn nicht anders definiert, geht's bei null los.
--> dim ...(1 to 40)
oder dim ...(39) und for i=0 to 39
gruss andre

Re: Charts zum verzweifeln...
15.02.2003 20:27:06
L.Vira

Setzt doch einfach mal einen breakpoint und schau dir im Lokalfenster dein Array an.

Re: Charts zum verzweifeln...
15.02.2003 20:27:06
L.Vira

Setzt doch einfach mal einen breakpoint und schau dir im Lokalfenster dein Array an.

Workaround
15.02.2003 21:08:50
Ramses

Hallo Tino,

Auf die Schnelle biete ich dir diese Lösung an:
Nicht elegant, aber funktioniert. Mit der Array-Zuweisung erhalte ich einen Typfehler, dem ich jetzt nicht unbedingt auf die Schliche kommen will :-)


Sub demo()
Dim varYArray(40) As Variant
Dim i, varString As String
varYArray(1) = ActiveSheet.Cells(2, 2)
For i = 1 To 40
varYArray(i) = i
Next i
'Array string herstellen für die Series-Collection
varString = "{"
For i = 1 To 40
    If i = 1 Then
        varString = varString & i
    Else
        varString = varString & "," & i
    End If
Next i
varString = varString & "}"
'String abschliessen
'create new chart
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
'Werte zuweisen
ActiveChart.SeriesCollection(1).Values = "=" & varString
ActiveChart.SeriesCollection(1).Name = "=""Test"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"

End Sub 

     Code eingefügt mit Syntaxhighlighter 1.16

Gruss Rainer

Anzeige
Re: Charts zum verzweifeln...
16.02.2003 12:46:16
tino

hi andre,
erst einmal danke fuer deinen beitrag. da ich "option base 1" benutze faengt jedes array bei 1 an. der konflikt kann also nicht daran liegen.

aber trotzdem noch einmal danke vielleicht hast du ja noch eine andere idee...

tino

Re: Charts zum verzweifeln...
16.02.2003 12:46:16
tino

hi andre,
erst einmal danke fuer deinen beitrag. da ich "option base 1" benutze faengt jedes array bei 1 an. der konflikt kann also nicht daran liegen.

aber trotzdem noch einmal danke vielleicht hast du ja noch eine andere idee...

tino

Re: Charts zum verzweifeln...
16.02.2003 12:46:21
tino

hi andre,
erst einmal danke fuer deinen beitrag. da ich "option base 1" benutze faengt jedes array bei 1 an. der konflikt kann also nicht daran liegen.

aber trotzdem noch einmal danke vielleicht hast du ja noch eine andere idee...

tino

Anzeige
Re: Workaround
16.02.2003 12:50:20
tino

hi rainer,
ich habe auch schon versucht einen string zu erstellen. ich glaube aber, dass ich bei 4000 iterations probleme bekomme, da der string a unendlich lang wird. der string ist gut, wenn man nur mit wenigen werten arbeitet.

hast du vielleicht noch einen anderen vorschlag?
aber anyway viellen dank erst einmal fuer die hilfe
tino


Re: Charts zum verzweifeln...
16.02.2003 18:07:21
tino

hi L(?),
das hat schon einmal sehr geholfen. das lokalfenster zeigt, dass alles ok ist mit dem array. es muss also irgendwie bei der uebergabe and den chart schieflaufen.

kannst du da vielleicht auch mal einen blick draufwerfen, wuerde sehr helfen...
noch einmal danke
tino

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige