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

Forumthread: Diagramm erstellen mit VBA

Diagramm erstellen mit VBA
28.09.2007 14:43:00
Grapentin
Hallo,
ich habe ein Problem dabei eine Schleife zu beenden, die Diagramme zeichnet.

Sub Diagramm()
Dim i As Double 'Zeilenzählvariable für Lage des Diagramms
Dim a As Long 'Zeilensprungvariable für Daten der Diagramme
Dim b As Long 'Spaltenzählvariable für Lage des Diagramms
a = 0
b = 1
i = 1
Do Until b = 11
i = 1
Do Until i = 11
Sheets("Trends").ChartObjects.Add(400 + 260 * (b - 1), 30 + 110 * (i - 1), 250, 100).Name =  _
"Diagramm " & i & b
Sheets("Trends").ChartObjects("Diagramm " & i & b).Activate
ActiveChart.ChartWizard Source:=Sheets("Trends").Range(Sheets("Trends").Cells(2 + a, 2),  _
Sheets("Trends").Cells(3 + a, 13)), _
Gallery:=xlXYScatter, PlotBy:=xlRows, HasLegend:=0, Title:=Sheets("Trends").Cells(2 + a, 1)  _
& " & " & Sheets("Trends").Cells(3 + a, 1)
a = a + 2
i = i + 1
Loop
b = b + 1
Loop
End Sub


Wenn in Spalte 1 keine Daten mehr vorhanden sind, soll die Schleife enden.
Die Programmierung ist auf maximal 100 Diagramme ausgelegt, sollten aber weniger Daten vorhanden sein soll die Schleife von alleine abbrechen. In Zelle "O2" ist die Anzahl der Datensätze gegeben. Ein Datensatz für ein Diagramm besteht immer aus 2 Zeilen.
Bisher bricht sie aber immer mit einer Fehlermeldung ab. Mir wäre es lieber, wenn Sie einfach abrrechen würde ohne Fehler!
Herzlichen Dank für Eure Hilfe!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm erstellen mit VBA
28.09.2007 15:20:00
Beverly
Hi,

Sub Diagramm()
Dim i As Double 'Zeilenzählvariable für Lage des Diagramms
Dim a As Long 'Zeilensprungvariable für Daten der Diagramme
Dim b As Long 'Spaltenzählvariable für Lage des Diagramms
Dim inZaehler As Integer ' Schleifenzähler für die Diagrammanzahl in O2
a = 0
b = 1
i = 1
Do Until b = 11
i = 1
Do Until i = 11
Sheets("Trends").ChartObjects.Add(400 + 260 * (b - 1), 30 + 110 * (i - 1), 250, 100) _
.Name = _
"Diagramm " & i & b
Sheets("Trends").ChartObjects("Diagramm " & i & b).Activate
ActiveChart.ChartWizard Source:=Sheets("Trends").Range(Sheets("Trends").Cells(2 + a, _
2), _
Sheets("Trends").Cells(3 + a, 13)), _
Gallery:=xlXYScatter, PlotBy:=xlRows, HasLegend:=0, Title:=Sheets("Trends").Cells(2  _
+ a, 1) _
& " & " & Sheets("Trends").Cells(3 + a, 1)
a = a + 2
i = i + 1
inZaehler = inZaehler + 1
If inZaehler = Sheets("Trends").Range("O2") Then Exit Sub
Loop
b = b + 1
Loop
End Sub


________________________________________

Anzeige
AW: Diagramm erstellen mit VBA
02.10.2007 10:42:44
Grapentin
Danke Beverly,
mit einer kleinen Änderung bezüglich der InZaehler Schleife hat es geklappt.
inZaehler = inZaehler + 1
If inZaehler = Sheets("Trends").Range("O2") / 2 Then Exit Sub

Klasse!!
;

Forumthreads zu verwandten Themen

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