Anzeige
Archiv - Navigation
1812to1816
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
Inhaltsverzeichnis

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

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

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige