Ich habe durch 4 andere Schleife durch alle offenen Blätter in einem Excel-Buch, alle gefunden Suche auf Stackoverflow. Ich bin sehr neu in VBA, daher habe ich Schwierigkeiten zu verstehen, wie ich diese Antworten in meinen Code einfüge.laufendes Skript durch alle offenen Arbeitsblätter
Was ich tun möchte, ist ein Diagramm in jedem aktiven Arbeitsblatt erstellen. Unten ist mein Code zum Erstellen eines Diagramms in Blatt 1 (gefunden von einem anderen Beitrag und Parameter geändert, was ich brauchte). Es erstellt das Diagramm genau wie ich es möchte. Ich weiß nicht, wie ich das aktuelle Blatt in meinem Code anstelle von Blatt 1 referenzieren soll, also weiß ich, dass das meine erste Hürde ist. Ich habe gefunden, wie man auf https://support.microsoft.com/en-us/kb/142126 schlingen kann, aber es läuft nur für Blatt 1, da ich nicht weiß, wie man diesen Parameter richtig ändert.
Sub chartcreation()
Dim sh As Worksheet
Dim chrt As Chart
Set sh = ActiveWorkbook.Worksheets("Sheet1")
Set chrt = sh.Shapes.AddChart.Chart
With chrt
'Data?
.ChartType = xlXYScatterSmooth
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = "=Sheet1!B1"
.SeriesCollection(1).XValues = "=Sheet1!$A$3:$A$630"
.SeriesCollection(1).Values = "=Sheet1!$B$3:$B$630"
'Titles
.HasTitle = True
.ChartTitle.Text = "=Sheet1!B1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = Range("A2")
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = Range("B2")
'Formatting
.Axes(xlCategory).HasMinorGridlines = False
.Axes(xlValue).HasMajorGridlines = True
.Axes(xlCategory).MinimumScale = 15
.Axes(xlCategory).MaximumScale = 90
.Axes(xlValue).HasMinorGridlines = False
.Axes(xlValue).MinimumScale = 0
.Axes(xlValue).MaximumScale = 60
.HasLegend = True
End With
End Sub
Was ist ein aktives Arbeitsblatt pro Ihre Definition? Sie können jeweils nur 1 aktives Arbeitsblatt haben. – Niclas
Und haben Sie Ihre Daten in Sheet1? – Niclas
Sorry, dass ich nicht klar bin. Ich werde 384 Blätter in einer Datei haben, die ich durchschleifen möchte. Jedes Blatt enthält also die Daten in den Spalten A und B, aus denen ich ein Diagramm erstellen möchte. Wenn ich mein Skript zu jeder Blattnummer ändere, weiß ich, dass das funktionieren würde, aber ich frage mich, ob eine Schleife einfacher wäre, also habe ich die 384 Kopien des obigen Skripts nicht. – CorBoy