Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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

Säulendiagramm

Säulendiagramm
10.05.2013 09:19:55
Ann
Hallo Leute,
ich hab ein Problem beim erstellen eines Säulendiagramms.
Um den angefügten Quellcode mal zu erklären:
Ich hab Daten in der Zeile 2 bis Unbekannt und in den Spalten A bis BD und in der ersten Zeile Überschriften. Jetzt möchte ich zwei Säulendiagramme mit Spalte A als x-Achse zeichnen. Beim ersen Diagramm (für die Spalten E,K und BE) ist das kein Problem, aber das zweite Diagramm beinhaltet die Spalten von L bis AD und das Diagramm auf dem gleichen Weg wie das erste zu erstellen, wäre etwas aufwändig. Jetzt hätte ich es mit einer Schleife probiert, aber das klappt leider nicht.
'zählt die Zeilen
y = Sheets("Tabelle3").Cells(Rows.Count, 2).End(xlUp).Row
For l = 2 To y
Rows(l).Clear
Next
'erstes Diagramm
Dim aChart As Chart
ActiveSheet.ChartObjects.Add Left:=60, Top:=90, Width:=400, Height:=225
Set aChart = ActiveSheet.ChartObjects(1).Chart
aChart.ChartType = xlColumnClustered
aChart.SeriesCollection.NewSeries
aChart.SeriesCollection.NewSeries
aChart.SeriesCollection.NewSeries
aChart.SeriesCollection(1).XValues = ActiveSheet.Range("A2:A" & y)
aChart.SeriesCollection(1).Values = ActiveSheet.Range("E2:E" & y)
aChart.SeriesCollection(1).Name = " "
aChart.SeriesCollection(2).Values = ActiveSheet.Range("K2:K" & y)
aChart.SeriesCollection(2).Name = Range("K1")
aChart.SeriesCollection(3).Values = ActiveSheet.Range("BE2:BE" & y)
aChart.SeriesCollection(3).Name = " "
Set aChart = Nothing
'zweites Diagramm
Dim bChart As Chart
Dim b As Integer
Dim a As Integer
ActiveSheet.ChartObjects.Add Left:=60, Top:=90, Width:=400, Height:=225
Set bChart = ActiveSheet.ChartObjects(2).Chart
bChart.ChartType = xlColumnClustered
bChart.SeriesCollection.NewSeries
For a = 1 To 19
For b = 12 To 30
bChart.SeriesCollection(a).XValues = ActiveSheet.Range("A2:A" & y)
bChart.SeriesCollection(a).Values = ActiveSheet.Range("Cells(2, b): Cells(y, b)")
bChart.SeriesCollection(a).Name = Range("b1")
Next b, a

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Säulendiagramm
10.05.2013 10:00:41
Beverly
Hi Ann,
versuche es so:
bChart.SeriesCollection(a).Values = ActiveSheet.Range(ActiveSheet.Cells(2, b), ActiveSheet.Cells(y, b))


AW: Säulendiagramm
10.05.2013 14:40:48
Ann
Hi Karin,
danke für die Antwort... leider funktioniert das auch nicht.
Keine Ahnung so der Fehler liegt (Laufzeitfehler '1004': Anwendungs -oder objektdefinierter Fehler)

AW: Säulendiagramm
10.05.2013 14:53:11
Ann
Hey Karin,
war ne Voreilige Antwort :)
Es klappt!
Danke!
Gruß
Sarah

Anzeige
AW: Säulendiagramm
10.05.2013 14:57:44
Beverly
Hi Ann,
du fügst nur 1 neue Datenreihe ein, willst aber mehreren die Werte zuweisen. So sollte es funktionieren:
'zweites Diagramm
Dim b As Integer
With ActiveSheet.ChartObjects.Add(Left:=60, Top:=90, Width:=400, Height:=225).Chart
.ChartType = xlColumnClustered
For b = 12 To 30
.SeriesCollection.NewSeries
.SeriesCollection(.SeriesCollection.Count).XValues = ActiveSheet.Range("A2:A" & y)
.SeriesCollection(.SeriesCollection.Count).Values = ActiveSheet.Range(ActiveSheet.Cells(2, _
b), ActiveSheet.Cells(y, b))
.SeriesCollection(.SeriesCollection.Count).Name = Range("b1")
Next b
End With


Anzeige
AW: Säulendiagramm
10.05.2013 15:14:53
Ann
Stimmt :) Jetzt passt es aber!
Nochmals vielen Dank für die Hilfe!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige