Clever-Excel-Forum

Normale Version: Diagramm aus frei wählbaren Bereich über Makro erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

leider bin ich mit meiner Inetsuche bisher noch nicht fündig geworden und hoffe man kann mir hier weiterhelfen.

Ich habe mehrere Datentabellen mit jeweils ca. 5000 Werten. Aus diesen Tabellen will ich verschiedene Diagramme aus unterschiedlichen Bereichen erstellen. Das Ganze soll so funktionieren, dass ich eine Userform aufrufe, in der ich dann den Bereich definieren, welcher mir in dem Diagramm A angezeigt werden soll. Mein erster Versuch schaut so aus:


Code:
Option Explicit
[align=left]Private Sub CommandButton1_Click()

'Makro aktualisiert die Anzeige nicht
Application.ScreenUpdating = False

'Diagramm aus Tabellen erstellen
ActiveSheet.Shapes.AddChart2(240, xlXYScatterLinesNoMarkers).Select
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
        TextBox1
ActiveChart.ChartArea.Select
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Name = "=""Temp Reaktor A"""
ActiveChart.FullSeriesCollection(1).XValues = TextBox2
ActiveChart.FullSeriesCollection(1).Values = TextBox3
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(2).Name = "=""Temp Reaktor B"""
ActiveChart.FullSeriesCollection(2).XValues = TextBox2
ActiveChart.FullSeriesCollection(2).Values = TextBox4

'Makro aktualisiert die Anzeige
Application.ScreenUpdating = True

End Sub[/align]
Da kommt aber immer Laufzeitfehler '-2147417848(80010108)': Die Methode 'XValues' für das Object 'Series' ist fehlgeschlagen.
Des weiteren soll die Tabelle als letzter Reiter nach den ganzen Tabellen eingefügt werden.

Schonmal vielen Dank für eure Hife.

Gruß

Markus
Hallo, Markus,

du schreibst, dass du im Formular einen Bereich eingeben willst und beziehst dich dann im Code auf eine Textbox (in der ein String steht, keine Range).

Ohne es probiert zu haben, würde ich den Code so abwandeln:

ActiveChart.FullSeriesCollection(1).XValues = Range(TextBox2.Value) (exemplarisch für die verschiedenen Bereiche)


Gruß
Susanne
Hallo Susanne,

passt, danke dir, das wars wonach ich gesucht hab.

Vielen Dank nochmal.

Gruß

Markus