Live-Forum - Die aktuellen Beiträge
Datum
Titel
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
Inhaltsverzeichnis

Diagramm von allen Arbeitsblättern

Forumthread: Diagramm von allen Arbeitsblättern

Diagramm von allen Arbeitsblättern
20.12.2016 12:04:29
allen
Hallo liebe VBA-Experten,
aktuell arbeite ich mit nachfolgendem Makro, mit dessen Hilfe ein Diagramm von allen Tabellenblättern erstellt wird. Hierbei muss allerdings immer erst der Name des ersten Tabellenblatts in den VBA-Code eingetragen werden. Hab mich auch schon daran versucht das zu ändern, was mir aber nicht gelungen ist :(

Sub Diagramm_erstellen_alle()
Dim wshTabelle As Worksheet
With Charts.Add
.ChartType = xlXYScatterLinesNoMarkers
.SetSourceData Source:=Worksheets("RT_3xNaseAnGeschlizt1").Range("G1")
.SeriesCollection(1).Name = Worksheets("RT_3xNaseAnGeschlizt1").Range("G1")
.SeriesCollection(1).XValues = Worksheets("RT_3xNaseAnGeschlizt1").Range("S6:S18000")
.SeriesCollection(1).Values = Worksheets("RT_3xNaseAnGeschlizt1").Range("R6:R18000")
.Name = "DiagrammRT_3xNaseAnGeschlizt1"
.HasTitle = True
.ChartTitle.Characters.Text = "RT_3xNaseAnGeschlizt1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Weg [mm]"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Kraft [KN]"
.Axes(xlCategory).HasMajorGridlines = True
.HasLegend = False
With .PlotArea.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With .PlotArea.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
With .Axes(xlCategory)
.MinimumScale = 0
.MaximumScale = 9
.MajorUnit = 1
.DisplayUnit = xlNone
End With
With .Axes(xlValue)
.MinimumScale = 0
.MaximumScale = 2
.MajorUnit = 0.2
.DisplayUnit = xlNone
End With
With .Axes(xlCategory).MajorGridlines.Border
.ColorIndex = 15
.Weight = xlHairline
.LineStyle = xlContinuous
End With
With .Axes(xlValue).MajorGridlines.Border
.ColorIndex = 15
.Weight = xlHairline
.LineStyle = xlContinuous
End With
With .Axes(xlCategory)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MajorUnitIsAuto = True
.DisplayUnit = xlNone
End With
With .Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MajorUnitIsAuto = True
.DisplayUnit = xlNone
End With
For Each wshTabelle In Worksheets
If wshTabelle.Name  "RT_3xNaseAnGeschlizt1" Then
.SeriesCollection.NewSeries
With .SeriesCollection(.SeriesCollection.Count)
.Name = wshTabelle.Range("G1")
.XValues = wshTabelle.Range("S6:S18000")
.Values = wshTabelle.Range("R6:R18000")
End With
End If
Next wshTabelle
End With
End Sub


Vielleicht könnt Ihr mir helfen?
Viele Grüße
Benjamin
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm von allen Arbeitsblättern
20.12.2016 12:27:42
allen
Hallo Benjamin,
versuch mal: Worksheets(1)
Gruß
Michael
AW: Diagramm von allen Arbeitsblättern
20.12.2016 12:42:49
allen
Hallo Michael,
das hat leider nicht funktioniert.
Viele Grüße
Benjamin
AW: Diagramm von allen Arbeitsblättern
20.12.2016 13:36:07
allen
Hallo Benjamin,
habe mal den Code bei mir eingefügt und abgeändert. Bei mir funktioniert es.
Sub Diagramm_erstellen_alle()
Dim wshTabelle As Worksheet
With Charts.Add
.ChartType = xlXYScatterLinesNoMarkers
.SetSourceData Source:=Worksheets(1).Range("G1")
.SeriesCollection(1).Name = Worksheets(1).Range("G1")
.SeriesCollection(1).XValues = Worksheets(1).Range("S6:S18000")
.SeriesCollection(1).Values = Worksheets(1).Range("R6:R18000")
.Name = "DiagrammRT_3xNaseAnGeschlizt1"
Oder meinst du noch was anderes?
Gruß
Michael
Anzeige
AW: Diagramm von allen Arbeitsblättern
20.12.2016 13:36:21
allen
Hallo Benjamin,
habe mal den Code bei mir eingefügt und abgeändert. Bei mir funktioniert es.
Sub Diagramm_erstellen_alle()
Dim wshTabelle As Worksheet
With Charts.Add
.ChartType = xlXYScatterLinesNoMarkers
.SetSourceData Source:=Worksheets(1).Range("G1")
.SeriesCollection(1).Name = Worksheets(1).Range("G1")
.SeriesCollection(1).XValues = Worksheets(1).Range("S6:S18000")
.SeriesCollection(1).Values = Worksheets(1).Range("R6:R18000")
.Name = "DiagrammRT_3xNaseAnGeschlizt1"
Oder meinst du noch was anderes?
Gruß
Michael
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