Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
688to692
688to692
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SeriesCollectien Values zuweisen (XYDiagramm)

SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:20:32
Maike
Hallo liebe Forumsmitglieder
ich habe ein kleines Problem, bei dem ich einfach nicht dahinterkomme ( manchmal habe ich das gefühl Excel will mich ärgern)
Und zwar habe ich untere Funktion einem Menüpunkt hinterlegt.
Das Berechnen der Leistung aus Spalte A ( Drehzahl) und Spalte B ( Drehmoment) klappt auch wie gewollt.
Bei der Festlegung der Values-Eigenschaft des Series Objektes( wie es die Fehlermeldung so schön sagt) tritt dann anscheinend ein Fehler auf.
An Fehlenden Werten in Spalte 4 liegt es vermutlich nicht, ich habe extra kontrolliert, ob sie korrekt ausgefüllt sind
Warum werden die x-Werte korrekt zugewiesen, die y-Werte aber nicht?
Ich habe diese Befehle bei vorigen Reihen ähnlich benutzt. Da hat es geklappt!?
Kann mir da jemand netterweise heraushelfen?

Sub Kennlinie_Leistung()
Sheets("Höchstwerte").Activate
v_letzteZeileHöchst = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
'Formel zur Berechnung der Leistung
ActiveSheet.Range("D2").FormulaR1C1 = "= RC[-3]/60 * RC[-2] * 6.28/1000"
' in spalte D Werte für leistung eintragen
Range("D2").AutoFill Destination:=Range(" D2 : D" & v_letzteZeileHöchst), Type:=xlFillDefault
Sheets("Motorkennfeld").Activate
ActiveChart.SeriesCollection.NewSeries
With ActiveChart.SeriesCollection(i_k + 1)
.Name = "Leistungskurve"
.XValues = " = 'Höchstwerte'!R2C1:R" & v_letzteZeileHöchst & "C1"
.Values = " = 'Höchstwerte'!R2C4:R" & v_letzteZeileHöchst & "C4"
.Border.Weight = xlThin
.Border.LineStyle = xlAutomatic
.Border.ColorIndex = 3
.MarkerStyle = xlNone
End With
End Sub

Danke
Gruß Maike

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

Betreff
Datum
Anwender
Anzeige
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:38:57
Herbert
hallo Maike,
ist das gewollt,daß du die letzte Zelle in Spalte 1 ermittelst...
Gruß Herbert
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:51:20
Maike
Hallo Herbert.
Ja, dass ist gewollt, weil egal.
Denn wenn in einer der anderen Spalten in mehr Zeilen als in der ersten Spalte etwas steht, dann sind die Daten für mich sowieso unbrauchbar ( mir bringt Leistung ohne Drehzahl nix...)
Und da ich die Zeile und nicht die Zelle bestimme, ist diese ja für alle Spalten brauchbar.
aber danke für den Hinweis
Gruß Maike
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:44:19
Luschi
Hallo Maike,
wahrscheinlich gibt es das Objekt ActiveChart.SeriesCollection(i_k + 1) gar nicht, weil i_k + 1 die Anzahl der vorhandenen Einträge übersteigt oder durch eine zu kleine Zahl auf die falsche Collection zeigt.
Mach es so wie es in der Excel-Hilfe vorgeschlagen wird:
Dim ns As SeriesCollection
Set ns = ActiveChart.SeriesCollection.NewSeries
With ns
'...
End With
Set ns = Nothing
Gruß von Luschi
aus klein-Paris
Anzeige
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:48:38
Maike
Danke, ich probiers mal aus.
Muss ich dann wenns klappt vermutlich bei den 12 anderen Reihen auch mal ändern...
Gruß Maike
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:55:30
Maike
Hallo Luschi
Irgendwas scheint soch nicht zu stimmen:
Bei
Set ns = ActiveChart.SeriesCollection.NewSeries
Schmeißt er mir die Fehlermeldung "Typen unverträglich" raus.
das Dim ns as SeriesCollection hab ich natürlich davor stehen.
Gruß Maike
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 15:59:26
Fred
Dim ns as Object
mfg Fred
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 16:26:30
Maike
Hallöchen.
Wenn ich ns als object dimensioniere bekomme ich wieder die gleiche Fehlermeldung wie zuvor: die Value Eigenschaft blabla.
Scheint also nicht unbedingt an der nummerierung der SeriesCollection zu liegen. Habe auch mal nchgeguckt. Es entsteht Reihe 14. die ist vorher frei und wird auch in die Legende mit aufgenommen. die x-werte werden brav eingetragen, nur bei y-Werte steht {1}.
Unten habe ich mal die Tabellendaten aus dem blatt Höchstwerte eingestellt. upload als Screenshot wurde mir leider verwehrt...
Die Überschriften stehen in Zeile 1 die Werte ab Zeile 2.
Was geht da nur schief?
Drz_/_____Moment_/_Verbrauch_/__Leistung
900,7_/___2,9_/____1950,2_/___0,273392473
992,1_/___59,4_/___252,2_/___6,16829136
1192,0_/__79,4_/___223,3_/___9,906155733
1397,0_/__120,0_/__219,6_/___17,54632
1595,0_/__123,6_/__221,3_/___20,634196
1799,0_/__127,6_/__224,2_/___24,02648453
2200,0_/__129,2_/__215,0_/___29,75045333
2397,0_/__127,8_/__219,9_/___32,0632308
2601,0_/__126,2_/__221,7_/___34,3564356
2802,0_/__126,8_/__228,7_/___37,1873968
3204,0_/__122,2_/__225,1_/___40,9800144
3405,0_/__120,3_/__226,3_/___42,873717
3606,0_/__120,2_/__235,9_/___45,36642624
3806,0_/__110,2_/__238,7_/___43,89941893
4007,0_/__66,8__/__257,9_/___28,01587547
4107,4_/__12,5__/__618,7_/___5,373782917

Gruß Maike
Anzeige
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 16:27:19
Maike
hab vergessen "noch offen" zu machen :-)
Gruß Maike
AW: SeriesCollectien Values zuweisen (XYDiagramm)
02.11.2005 17:21:03
Herbert
hallo Maike,
der hier aktive Code funktioniert...


Sub Kennlinie_Leistung()
Dim v_letzteZeileHöchst%
With Sheets("Höchstwerte")
    v_letzteZeileHöchst = .Cells(ActiveSheet.Rows.Count, 4).End(xlUp).Row
  '  .Range("D2").FormulaR1C1 = "= RC[-3]/60 * RC[-2] * 6.28/1000"
  '  .Range("D2").AutoFill Destination:=Range(" D2 : D" & v_letzteZeileHöchst), Type:=xlFillDefault
End With
With Sheets("Motorkennfeld").ChartObjects(1).Chart
             .SeriesCollection.NewSeries
      With .SeriesCollection(1)  '(i_k + 1)
            .Name = "Leistungskurve"
            .XValues = "=Höchstwerte!R2C1:R" & v_letzteZeileHöchst & "C1"
            .Values = "=Höchstwerte!R2C4:R" & v_letzteZeileHöchst & "C4"
            .Border.Weight = xlThin
            .Border.LineStyle = xlAutomatic
            .Border.ColorIndex = 3
            .MarkerStyle = xlNone
      End With
End With
    
End Sub

     wo nimmst du die Variable i_k her ?
gruß Herbert
Anzeige
AW: SeriesCollectien Values zuweisen (XYDiagramm)
03.11.2005 07:53:50
Maike
Hallo Herbert.
Also, i_k ist eine globale Variable, die ich jedesmal mitlaufen lasse, wenn ich eine neue Kurve erzeuge.
i für integer, k für Kurve ;-)
ich kontrollier nochmal, was sie als letztes für einen wert erhält.
Aber wie gesagt: eigentlich wird die richtige Kurve, d.h. an der richtigen stelle, erzeugt.
Gruß Maike
AW: SeriesCollectien Values zuweisen (XYDiagramm)
03.11.2005 08:49:57
Maike
Hallo meine lieben Miträtsler und Berater :-)
ich habe jetzt eine funktionierende Variante zusammengebastelt.
Einerseits habe ich die bei Excel bewährte Fehlerbeseitigungsmethode, den Code einfach einmal neu einzutippen, benutzt.
Und außerdem habe ich die Nummer für die Kurve schon vorher in einer neuen Variablen zwischengespeichert. Eventuell hat sich der compiler an der Berechnung in der Klammer hinter SeriesCollection gestört.
So funktioniert es jetzt auf jeden fall erstmal:

Sub Kennlinie_Leistung()
Dim kl_nr As Integer
kl_nr = i_k + 1
v_letzteZeileHöchst = Sheets("Höchstwerte").Range("A65536").End(xlUp).Row
Sheets("Höchstwerte").Activate
ActiveSheet.Range("D2").FormulaR1C1 = "= RC[-3]/60 * RC[-2] * 6.28/1000"
ActiveSheet.Range("D2").AutoFill Destination:=Range("D2:D" & v_letzteZeileHöchst), Type:=xlFillDefault
Sheets("Motorkennfeld").Activate
ActiveChart.SeriesCollection.NewSeries
With ActiveChart.SeriesCollection(kl_nr)
.Name = "Leistungskurve"
.XValues = "= Höchstwerte!R2C1:R" & v_letzteZeileHöchst & "C1"
.Values = "= Höchstwerte!R2C4:R" & v_letzteZeileHöchst & "C4"
End With
End Sub

Vielen Dank für eure Hilfe!
Gruß Maike
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige