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

Automatisiert Diagramm befüllen

Automatisiert Diagramm befüllen
30.06.2020 16:28:49
Martin
Hallo liebe VBA Experte,
ich habe folgendes Problem. Ich würde gerne die Daten für mein Diagramm automatisch erfassen. Die Anzahl der Daten ist variable und der Abstand der Daten entspricht jeweils 12 Zeilen.
Besteht die Möglichkeit die Range über eine for Schleife zu befüllen?
z.B.
For i=14 to (Anzahl_Einträge*12-14)
Dim zs as string
zs="S"+Cstr(i)
ActiveChart.SetSourceData Source:=Range("'989'! zs")
i=i+11
Next
Ein Skript um die Anzahl der Einträge zu bestimmen habe ich bereits, allerdings ist dies noch nicht eingebunden.
Das aufgezeichnete Makro der fertigen Tabelle sieht wie folgt aus:

Sub Makro1()
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=Range( _
"'989'!$S$14,'989'!$S$26,'989'!$S$38,'989'!$S$50,'989'!$S$62,'989'!$S$74,'989'!$S$86,'   _
_
_
989'!$S$98,'989'!$S$110")
ActiveSheet.Shapes("Diagramm 1").ScaleWidth 1.6507937445, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Diagramm 1").ScaleHeight 1.6367392097, msoFalse, _
msoScaleFromBottomRight
ActiveChart.PlotArea.Select
ActiveChart.Axes(xlCategory).Select
ActiveChart.FullSeriesCollection(1).Select
ActiveChart.FullSeriesCollection(1).XValues = _
"='989'!$A$14:$C$14,'989'!$A$26:$C$26,'989'!$A$38:$C$38,'989'!$A$50:$C$50,'989'!$A$62:$  _
_
_
C$62,'989'!$A$74:$C$74,'989'!$A$86:$C$86,'989'!$A$98:$C$98,'989'!$A$110:$C$110"
End Sub

Vielen Dank im Voraus

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

Betreff
Datum
Anwender
Anzeige
VBA: Diagramm erstellen
30.06.2020 16:46:49
Beverly
Hi,
meinst du so etwas:
Sub DiaErstellen()
Dim rngBereich As Range
Dim i As Long
For i = 14 To IIf(IsEmpty(Cells(Rows.Count, 19)), _
Cells(Rows.Count, 19).End(xlUp).Row, Rows.Count) Step 11
If rngBereich Is Nothing Then
Set rngBereich = Cells(i, 19)
Else
Set rngBereich = Union(rngBereich, Cells(i, 19))
End If
Next i
With ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Chart
.SetSourceData Source:=rngBereich
End With
End Sub

AW: VBA: Diagramm erstellen
30.06.2020 17:05:50
Martin
Hi Berverly,
vielen Dank für die schnelle Antwort. Der Code konnte mein Problem nicht ganz lösen, aber ich denke ich werde es mit deinem Code als Basis hinbekommen.
Viele Grüße
Martin
Anzeige
AW: VBA: Diagramm erstellen
30.06.2020 19:52:35
Beverly
Hi Martin,
und WAS GENAU konnte er nicht lösen?


AW: VBA: Diagramm erstellen
30.06.2020 20:48:39
Martin
Hi Beverly,
das Diagramm wird nach dem entsprechendem Format erstellt allerdings nicht vollständig ausgefüllt.
In dem Fall wird ein Säulendiagramm für 9 Säulen erstellt , allerdings wird nur die erste Säule eingefügt. Wenn ich morgen den korrekten Code hinbekomme werde ich ihn hier nochmal posten.
Viele Grüße
Martin
AW: VBA: Diagramm erstellen
30.06.2020 20:55:29
Martin
Kleiner Nachtrag,
der Code funktioniert tadellos, das Problem saß wie so oft vor dem Computer.
Die Werte sind im Abstand von 12 Zeilen, in meinem Schleifenbeispiel steht allerdings i=i+11 (da bei meiner Schleife pro Durchlauf zusätzlich um 1 erhöht wird).
Viele lieben Dank noch mal.
Viele Grüße
Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige