gleiches Diagramm bei wechselnden Daten

04/10/2007 - 13:32 von Alex | Report spam
Hallo alle zusammen,

Ich habe ein Diagramm, welches mit bestimmten Daten gespeist wird. Die
Daten können wechseln. Die Anzahl und der Ort der Spalten bleibt
gleich, die Anzahl der Zeilen jedoch nicht. Das geht ja alles noch.
Aber Wie schaffe ich es nun, in das vorhandene Diagramm neue Daten
einzulesen, ohne ein neues Diagramm erstellen zu müssen.

Weiß da irgendjemand was? Danke schon mal im Voraus

Gruß Alex

Mein bisheriger code:

Letzte_Zeile = Worksheets("Tabelle2").Cells(65536, 1).End(xlUp).Row
'gibt die letzte beschriebene Zeile zurück

Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("Tabelle2").Range("A4:D"
& Letzte_Zeile), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""CMD"""
ActiveChart.SeriesCollection(2).Name = "=""POS"""
ActiveChart.SeriesCollection(3).Name = "=""Stufen"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"

With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Folgeverhalten"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text "[ms]"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "[%]"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = True
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = True
End With
 

Lesen sie die antworten

#1 stefan onken
04/10/2007 - 14:42 | Warnen spam
hallo Alex,
dein Code enthàlt die Codezeile Charts.add, die dafür sorgt, dass ein
neues Diagramm erstellt wird. Um auf ein vorhandenes zuzugreifen,
brauchst du im Grunde nur

Letzte_Zeile = Worksheets("Tabelle2").Cells(65536, 1).End(xlUp).Row
'gibt die letzte beschriebene Zeile zurück


ActiveChart.SetSourceData Source:= _
Sheets("Tabelle2").Range("A4:D" & Letzte_Zeile), _
PlotBy :=xlColumns

bei ActiveChart muss ein Diagramm aktiviert sein oder du verwendest

Letzte_Zeile = Worksheets("Tabelle2").Cells(65536, 1).End(xlUp).Row
ActiveSheet.ChartObjects(1).Chart.SetSourceData _
Source:=Sheets("Tabelle2").Range("A4:D" & Letzte_Zeile), _
PlotBy :=xlColumns

wobei du ggfls den Index des Diagramms bei ChartObjects() anpassen
musst. Du kannst da aber auch den Namen des Diagramms einfügen.
ActiveSheet.ChartObjects("Diagramm 1").Chart.SetSourceData

und noch als Hinweis: die dynamische Anpassung des Diagramms làsst
sich auch ohne Makro bewerkstelligen.
http://users.quick-line.ch/ramel/Di...amisch.xls

Gruß
stefan

On 4 Okt., 13:32, Alex wrote:
Hallo alle zusammen,

Ich habe ein Diagramm, welches mit bestimmten Daten gespeist wird. Die
Daten können wechseln. Die Anzahl und der Ort der Spalten bleibt
gleich, die Anzahl der Zeilen jedoch nicht. Das geht ja alles noch.
Aber Wie schaffe ich es nun, in das vorhandene Diagramm neue Daten
einzulesen, ohne ein neues Diagramm erstellen zu müssen.

Weiß da irgendjemand was? Danke schon mal im Voraus

Gruß Alex

Mein bisheriger code:

Letzte_Zeile = Worksheets("Tabelle2").Cells(65536, 1).End(xlUp).Row
'gibt die letzte beschriebene Zeile zurück

Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("Tabelle2").Range("A4:D"
& Letzte_Zeile), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""CMD"""
ActiveChart.SeriesCollection(2).Name = "=""POS"""
ActiveChart.SeriesCollection(3).Name = "=""Stufen"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle2"

With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Folgeverhalten"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text > "[ms]"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "[%]"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = True
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = True
End With

Ähnliche fragen