Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeitschiene als Diagramm

Zeitschiene als Diagramm
27.07.2006 10:03:35
Sebastian
Hallo wissende,
wie kann man sich eine Art Zeitschiene als Diagramm anzeigen lassen?
Ich habe Anfangsdaten und Enddaten, und ich möchte jedes der einzelnen Projekte als extra Balken anzeigen lassen, der erst beim Start beginnt und am Ende aufhört.
Ich habe keine ahnung wie das funktionieren soll...
Danke im Vorraus.
MfG
Sebastian

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

Betreff
Datum
Anwender
Anzeige
AW: Gantt-Diagramm
27.07.2006 11:01:11
Sebastian
kann ich das evtl. auch in ein Makro packen, dass die Bereiche dynamisch anpasst?
also der Rekorder ergab folgendes:
Charts.Add
ActiveChart.ChartType = xlBarStacked
ActiveChart.SetSourceData Source:=Sheets("Projekttabelle").Range( _
"A7:D10,G7:G10"), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Projekttabelle!R7C7:R10C7"
ActiveChart.SeriesCollection(1).Values = "=Projekttabelle!R7C1:R10C1"
ActiveChart.SeriesCollection(2).XValues = "=Projekttabelle!R7C7:R10C7"
ActiveChart.SeriesCollection(2).Values = "=Projekttabelle!R7C3:R10C3"
ActiveChart.SeriesCollection(3).XValues = "=Projekttabelle!R7C7:R10C7"
ActiveChart.SeriesCollection(3).Values = "=Projekttabelle!R7C2:R10C2"
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.CrossesAt = 1
.TickLabelSpacing = 1
.TickMarkSpacing = 1
.AxisBetweenCategories = True
.ReversePlotOrder = False
End With
ActiveChart.SeriesCollection(1).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlNone
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
Selection.Interior.ColorIndex = xlNone
ActiveChart.Legend.Select
Selection.Delete
Wie kann ich den Range dynamisch anpassen?
und wie den Datenbereich?
Danke Leute erstmal soweit....
Anzeige
AW: Gantt-Diagramm dynamisch
27.07.2006 11:51:42
Beate
Halo Sebastian,
Sub DynDia2()
Charts.Add
ActiveChart.ChartType = xlBarStacked
ActiveChart.SetSourceData Source:=Sheets("Projekttabelle").Range( _
    "OFFSET($A$7,,,COUNTA($A:$A)-6,4),OFFSET($g$7,,,COUNTA($A:$A)-6,1)"), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = Range("OFFSET(Projekttabelle!$G$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.SeriesCollection(1).Values = Range("OFFSET(Projekttabelle!$A$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.SeriesCollection(2).XValues = Range("OFFSET(Projekttabelle!$G$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.SeriesCollection(2).Values = Range("OFFSET(Projekttabelle!$C$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.SeriesCollection(3).XValues = Range("OFFSET(Projekttabelle!$G$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.SeriesCollection(3).Values = Range("OFFSET(Projekttabelle!$B$7,,,COUNTA(Projekttabelle!$A:$A)-6,1)")
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart.Axes(xlCategory)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
End With
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
    .MinimumScaleIsAuto = True
    .MaximumScaleIsAuto = True
    .MinorUnitIsAuto = True
    .MajorUnitIsAuto = True
    .Crosses = xlAutomatic
    .ReversePlotOrder = False
    .ScaleType = xlLinear
    .DisplayUnit = xlNone
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
    .CrossesAt = 1
    .TickLabelSpacing = 1
    .TickMarkSpacing = 1
    .AxisBetweenCategories = True
    .ReversePlotOrder = False
End With
ActiveChart.SeriesCollection(1).Select
With Selection.Border
    .Weight = xlThin
    .LineStyle = xlNone
End With
Selection.Shadow = False
Selection.InvertIfNegative = False
Selection.Interior.ColorIndex = xlNone
ActiveChart.Legend.Select
Selection.Delete
End Sub


Beachte: Die erste Zeile ist Nr. 7 (für alle Bereiche). In der BereichVerschieben-Formel wird von der Anzahl der Einträge in Spalte A ausgegangen und trifft immer den passenden Bereich, insofern in Spalte A die ersten 6 Zellen irgendwie belegt sind. Sonst in der Formel überall statt -6 die Anzahl der dort belegten Zellen abziehen.
Gruß,
Beate
Anzeige
AW: Gantt-Diagramm dynamisch
27.07.2006 12:15:36
Beate
Hallo Sebastian,
lösche 1x: ActiveChart.SeriesCollection.NewSeries im Makro.
Immer beim untersten Balken erscheint nämlich ein Abschnitt zuviel,scheint es mir.
Ich habe die Aufnahme aber nicht nachgestellt ::))
Gruß,
Beate

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige