Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Balkendiagramm aus dynamisch wachsender Quelle

Balkendiagramm aus dynamisch wachsender Quelle
22.09.2016 14:10:31
Jessi
Hallo zusammen,
für eine Auswertung möchte ich per vba Daten aus einer Tabelle in ein Balkendiagramm übertragen. Die Tabelle soll in Zukunft dynamisch wachsen, aus diesem Grund habe ich ein Makro eingebaut, mit dessen Hilfe mein Diagramm aktualisiert werden kann (Die Tabelle und das Diagramm sind in unterschiedlichen Arbeitsblättern). Im Großen und Ganzen funktioniert das auch schon gut. Allerdings weiß ich nicht, wie ich bei meinem Balkendiagramm die letzte beschriebene Zeile bzw. in einem zweiten Fall die letzte beschriebene Spalte übergeben kann.
Es wäre super wenn ihr mir hier Helfen könntet :-)
Ich habe es mit
'letzte beschriebene Zeile in Spalte B ermitteln
lzeile = Worksheets("Hilfswerte").Cells(Rows.Count, 2).End(xlUp).Row
.SeriesCollection(1).Values = Range(Cells(3, 3), Cells(lzeile, 3))
.SeriesCollection(1).XValues = Range(Cells(3, 2), Cells(lzeile, 2))
versucht. Hier wird zwar die richtige Zeilennummer ermittelt aber leider werden die Daten nicht in das Diagramm übertragen.
Im folgenden findet ihr meinen vollständigen Code, der funktioniert, allerdings das dynamische Wachstum noch nicht implementiert.
Viele Dank schon jetzt für eure Hilfe
Sub Diagramm_erstellen()
Range("A1:T1").Select
ActiveCell.FormulaR1C1 = "Auswertung"
' vorhandene Diagramme löschen:
With ActiveSheet
If .ChartObjects.Count > 0 Then .ChartObjects.Delete
End With
' Diagramm erstellen
Sheets("Uebersicht").Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnClustered
'Position und Größe festlegen
With ActiveChart.Parent
.Left = 250
.Top = 150
.Width = 700
.Height = 400
End With
'Diagramm Umrandung
With Selection.Format.Line
.Visible = msoTrue
.Weight = 4
End With
'Beschriftung Diagramm
With ActiveChart
.HasTitle = True
.ChartTitle.Text = "mittlere Bewertung"
'Beschriftung Achsen
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Datum"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Note"
End With
' Werte der x-Achse
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.Axes(xlCategory).TickLabels.Orientation = 45
.SeriesCollection(1).Values = "='Hilfswerte'!$C$3:$C$6"
.SeriesCollection(1).XValues = "='Hilfswerte'!$B$3:$B$6"
.SeriesCollection(1).name = "=""Durchschnittsnote"""
'.Axes(xlCategory).MinorUnit = 1
.SeriesCollection(1).Trendlines.Add Type:=xlLinear, name:="Trend (Durchschnittsnote)"
End With
'Werte der y-Achse
With ActiveChart.Axes(xlValue)
.MaximumScale = 4
.MinimumScale = 1
.MinorUnit = 1
.MajorUnitIsAuto = True
End With
' Gitternetzlinien zufügen:
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Balkendiagramm aus dynamisch wachsender Quelle
22.09.2016 14:19:57
Fennek
Hallo,
wenn man die Daten als "intellgente" Tabelle definiert (strg-t), wird das Diagramm automatisch angepasst, sobald die Tabelle erweitert wird. Warum geht das in deinem Fall nicht?
mfg
AW: Balkendiagramm aus dynamisch wachsender Quelle
22.09.2016 15:01:24
Jessi
Hallo Fennek,
Danke für die schnelle Antwort. Du hast Recht das wäre auch eine Lösungsmöglichkeit ich war zu sehr auf VBA fixiert.
Grüße,
Jessica
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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