Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA:Diagrammbereich,jeweils neue x-Werte

VBA:Diagrammbereich,jeweils neue x-Werte
21.02.2021 19:36:24
Max
Hallo liebes Excel-Forum,
ich hatte schon einmal etwas zur Erweiterung der SourceData eines Diagramms mittels VBA gefragt, bei dem y-Werte immer zu den gleichen x-Werten gehören.
Nun möchte ich dasselbe für ein Diagramm erreichen, bei dem jeder y-Wert einen eigenen x-Wert hat.
Navigiere ich nämlich in diesem Fall zu
Rechtsklick auf Diagramm / Daten auswählen... / Diagrammdatenbereich:
wird mir angezeigt, dass der Datenbereich zu komplex ist, um ihn anzuzeigen.
Deshalb nun meine Frage:
Was muss ich eintragen in die Klammern:
ThisWorkbook.Worksheets("Tabelle2").ChartObjects("Diagramm 2").Chart.SetSourceData Source:=Range( ? )
Die Tabelle befindet sich hier:
https://www.herber.de/bbs/user/144131.xlsm
Info zur Datei: Sheet "Tabelle1" behandelt den leichteren, bereits funktionierenden Fall,
"Tabelle2" behandelt den schweren Fall, Daten sind dort manuell hinzugefügt
Vielen Dank schon einmal für eure Hilfe.
Viele Grüße
Max
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA:Diagrammbereich,jeweils neue x-Werte
22.02.2021 07:47:42
Beverly
Hi Max,
in diesem Fall muss jede Datenreihe einzeln erstellt werden:
Sub DiaErstellenKomplex()
Dim intReihe As Integer
Dim wksT As Worksheet
Dim q As Integer
Set wksT = Worksheets("Tabelle2")
q = wksT.Range("B2")
With wksT.ChartObjects(1).Chart
If .SeriesCollection.Count > 0 Then
For intReihe = .SeriesCollection.Count To 1 Step -1
.SeriesCollection(intReihe).Delete
Next intReihe
End If
For intReihe = 1 To wksT.Range("B2").Value
With .SeriesCollection.NewSeries
.XValues = wksT.Range(wksT.Cells(intReihe + 5, 16), wksT.Cells(intReihe + 5, 19)) _
.Values = wksT.Range(wksT.Cells(intReihe + 5, 11), wksT.Cells(intReihe + 5, 14))
.Name = wksT.Cells(intReihe + 5, 2)
End With
Next intReihe
.HasLegend = False
.HasLegend = True
.Parent.Top = .Parent.Parent.Cells(8 + q, 2).Top
.Parent.Left = .Parent.Parent.Cells(8 + q, 2).Left
End With
End Sub


Anzeige
AW: VBA:Diagrammbereich,jeweils neue x-Werte
22.02.2021 10:33:42
Max
Hallo Beverly,
danke wieder einmal für deine schnelle Antwort. Mein Problem verstanden, lehrreiche Syntax und gut nachvollziehbarer Code.
Ich wünsche dir eine schöne Woche :)
Viele Grüße
Hannes
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige