Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Diagramm erstellen Spalte für Spalte

VBA Diagramm erstellen Spalte für Spalte
20.07.2022 09:45:39
SebastianS
Hallo zusammen,
ich möchte gerne via Makro ein Diagramm einzelner gewählter Spalten erstellen. Das Makro habe ich mit dem Recorder aufgenommen, ist schon etwas her wo ich mich etwas mehr mit VBA beschäftigt habe. Von daher brauche ich hier definitiv Hilfe.
Aktuell bezieht sich das Makro in meiner Tabelle nur auf den Bereich K18-K39. Alle zahlen dort werden zu einem Diagramm zusammengefasst. Ich würde gerne, wenn in der danebenliegenden Spalte L18-L39 neue Daten eingegeben werden, ein neues Diagramm erzeugen. Und dann würde es mit der nächstfolgenden Spalte weitergehen usw.
Was muss ich am Code verändern damit nicht immer nur dieselbe Spalte ausgewertet wird? Es müsste ja vielleicht anhand eines Zählers o.ä. erkannt werden, welche Spalte zuletzt gefüllt wurde?
Vielen Dank für die Hilfe - hier ist das Makro :)
Liebe Grüße
Sebastian

Private Sub btn_Diagramm_Click()
ActiveSheet.Shapes.AddChart2(317, xlRadarFilled).Select
ActiveChart.SetSourceData Source:=Range( _
"Tabelle1!$K$18,Tabelle1!$K$24,Tabelle1!$K$29,Tabelle1!$K$34,Tabelle1!$K$39" _
)
ActiveChart.ChartGroups(1).RadarAxisLabels.Select
ActiveChart.ChartGroups(1).RadarAxisLabels.Select
Application.CutCopyMode = False
ActiveChart.FullSeriesCollection(1).XValues = _
"={""Sortieren"",""Säubern"",""Systematisieren"",""Standardisieren"",""Selbstdisziplin & KVP""}"
ActiveChart.ChartTitle.Select
ActiveChart.ChartTitle.Text = "Auswertung"
end sub
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Diagramm erstellen Spalte für Spalte
20.07.2022 11:31:49
Beverly
Hi Sebastian,
man kann die letzte belegte Spalte einer definierten Zeile feststellen und diesen Wert dann verwenden um diesen Spaltenbereich dem Diagramm zuzuweisen:

Private Sub btn_Diagramm_Click()
Dim intLetzte As Long
Dim intZaehler As Integer
intLetzte = Cells(18, Columns.Count).End(xlToLeft).Column  ' 0 Then
For intZaehler = .SeriesCollection.Count To 1 Step -1
.SeriesCollection(intZaehler).Delete
Next intZaehler
End If
With .SeriesCollection.NewSeries
.Values = Union(Cells(24, intLetzte), Cells(29, intLetzte), Cells(34, intLetzte), Cells(39, intLetzte))
.XValues = "={""Sortieren"",""Säubern"",""Systematisieren"",""Standardisieren"",""Selbstdisziplin & KVP""}"
.Name = "=" & ActiveSheet.Name & "!" & Cells(18, intLetzte).Address
End With
.ChartTitle.Text = "Auswertung"
End With
End Sub
Bis später
Karin

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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