seit vielen Tagen setze ich vor dem Rechner und versuche herauszufinden, was ich fasch gemacht habe bzw. wo der Fehler im unterstehenden Code ist.
In den Spalten B bis O habe ich die Monaten. Jeder einzelner Monat ist dreimal vorhanden (d. h. in der Spalte B = Jan15, Spalte C = Jan15, Spalte D = Jan15, Spalte E = Feb15, ... etc)
In der Spalte A habe ich die Namen (Ab A5 ... A_x, x = 7 im Moment)
Nun zum eigentlichen Problem !
Ich möchte für jede Zeile ab A5 ein Säulendiagramm mit jeweils 3 Säulen (3 Säulen für ein Monat) erstellen.
Aufgrund der Vielzahl der Zeilen möchte ich eine For-Schleife benutzen. Genau beim Einsatz dieser For-Schleife tritt das Problem auf. Die Erstellung eines Säulendiagramm funktioniert soweit sehr gut, wenn ich die For-Schleife als Kommentar und IngZeile = 6 (beispielweise) setze.
Für jede Hilfe bin sehr dankbar !
Bis Später Nemyk
Sub Saeulendiagramme()
Set wksTab = Worksheets("TAB_ENOM")
Dim oCT As ChartTitle
Dim lngZeile As Long
IngZeile = 6
'For lngZeile = 5 To 7
Dim ws As Worksheet
Set ws = ActiveSheet
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Auslast._Graph_" & Format(Now, "yyyymmdd_hhmmss")
With ActiveSheet.Shapes.AddChart.Chart
.ChartType = xlColumnClustered
.SetSourceData Source:=wksTab.Range("B5")
.SeriesCollection(1).XValues = Union(wksTab.Range("C" & 4), wksTab.Range("F" & 4), _
wksTab.Range("I" & 4), wksTab.Range("L" & 4), wksTab.Range("O" & 4), wksTab.Range("R" & 4))
.SeriesCollection(1).Values = Union(wksTab.Range("B" & IngZeile), wksTab.Range("E" & _
_
IngZeile), wksTab.Range("H" & IngZeile), wksTab.Range("K" & IngZeile), wksTab.Range("N" & _
IngZeile), wksTab.Range("Q" & IngZeile))
.SeriesCollection(1).Interior.ColorIndex = 20
.SeriesCollection(1).Name = "A Stunden"
.SeriesCollection(1).ApplyDataLabels ShowValue:=True
.SeriesCollection.NewSeries
.SeriesCollection(2).Values = Union(wksTab.Range("C" & IngZeile), wksTab.Range("F" & _
_
IngZeile), wksTab.Range("I" & IngZeile), wksTab.Range("L" & IngZeile), wksTab.Range("O" & _
IngZeile), wksTab.Range("R" & IngZeile))
.SeriesCollection(2).Interior.ColorIndex = 26
.SeriesCollection(2).Name = "B Stunden"
.SeriesCollection(2).ApplyDataLabels ShowValue:=True
.SeriesCollection.NewSeries
.SeriesCollection(3).Values = Union(wksTab.Range("D" & IngZeile), wksTab.Range("G" & _
_
IngZeile), wksTab.Range("J" & IngZeile), wksTab.Range("M" & IngZeile), wksTab.Range("P" & _
IngZeile), wksTab.Range("S" & IngZeile))
.SeriesCollection(3).Interior.ColorIndex = 36
.SeriesCollection(3).Name = "C Stunden"
.SeriesCollection(3).ApplyDataLabels ShowValue:=True
' Make sure the chart has a title
'Chart
.HasTitle = True
' Get the ChartTitle object
Set oCT = .ChartTitle
' Format the ChartTitle
With oCT
.Caption = wksTab.Range("A" & IngZeile)
.Font.Name = "Times New Roman"
.Font.Size = 15
.Border.LineStyle = xlContinuous
.Border.Weight = xlThin
.Shadow = True
End With
Set oCT = Nothing
End With
Next IngZeile
End Sub