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

Diagramm erstellen VBA

Diagramm erstellen VBA
andreas
Hallo zusammen,
ich möchte aus angehängter Tabelle durch betätigen von Command-Button automatisch Diagramme erstellen. Habe ein Makro aufgezeichnet funktioniert so leider nicht.
Es soll in Spalte "B" nach Belegungseinheit selektiert werden, im ersten Beispiel nach "1101" dann mit dazugehörigen Werten aus Spalte "F-G" das Diagramm erstellt werden.
Diagrammtitel "1101" wie das Selektionskriterium. Diagramm soll dann wie im Beispiel in einem eigenen Tabellenblatt angelegt werden.
Dann Selektion nach der nächsten Belegungseinheit, in diesem Fall "1102" und der gleiche Vorgang, so lange wiederholend bis für alle Belegungseinheiten ein Diagramm erstellt wurde.
Belegungseinheiten die in Spalte F-G nur Werte "0" enthalten, im Beispiel "1107" darf kein Diagramm erstellt werden.
https://www.herber.de/bbs/user/81280.xlsm
Bin für jede Hilfe dankbar.
Gruß Andreas

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

Betreff
Benutzer
Anzeige
AW: Diagramm erstellen VBA
06.08.2012 11:32:16
Beverly
Hi Andreas,
Private Sub CommandButton1_Click()
Dim lngZaehler As Long
Dim lngZeile As Long
Dim dblPruefWert As Double
Dim chrDia As Chart
Dim arrDias()
' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
' wenn bereits Diagramblätter vorhanden
If ActiveWorkbook.Charts.Count > 0 Then
' Schleife über alle Diagrammblätter
For Each chrDia In ActiveWorkbook.Charts
ReDim Preserve arrDias(0 To lngZaehler)
' Diagrammname ind Array schreiben
arrDias(lngZaehler) = chrDia.Name
lngZaehler = lngZaehler + 1
Next chrDia
' Excel-interne Hinweise abschalten
Application.DisplayAlerts = False
' alle Diagrammblätter löschen
Charts(arrDias).Delete
' Excel-interne Hinweise einschalten
Application.DisplayAlerts = True
End If
lngZaehler = 2
' Schleife über alle Zeilen
For lngZeile = 2 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row,  _
Rows.Count)
' Inhalte aus Spalte F und G summieren
dblPruefWert = dblPruefWert + Worksheets("Tabelle1").Cells(lngZeile, 6) + Worksheets(" _
Tabelle1").Cells(lngZeile, 7)
' laufende Zelle in Spalte B ist veschieden von nächster Zelle
If Worksheets("Tabelle1").Cells(lngZeile + 1, 2)  Worksheets("Tabelle1").Cells(lngZeile, _
2) Then
' in Spalte F und G sind Werte > 0 enthalten
If dblPruefWert  0 Then
' Diagrammblatt erstellen
With Charts.Add
' ans Ende stellen
.Move after:=Sheets(Sheets.Count)
' Name aus Zelle
.Name = Worksheets("Tabelle1").Cells(lngZeile, 2).Value
' Diagrammtyp Linie mit Datenpunkten
.ChartType = xlLineMarkers
' Wertebereich zuweisen
.SetSourceData Source:=Worksheets("Tabelle1").Range("$F$" & lngZaehler & ":$G$" & _
lngZeile)
' X-Wertebereich zuweisen
.SeriesCollection(1).XValues = Worksheets("Tabelle1").Range("A" & lngZaehler & ": _
A" & lngZeile)
' Diagrammtitel zentriert über Diagramm
.SetElement (msoElementChartTitleAboveChart)
' Diagrammtitel aus Zelle
.ChartTitle.Text = Worksheets("Tabelle1").Cells(lngZeile, 2).Value
End With
' Prüfwert zurücksetzen
dblPruefWert = 0
End If
lngZaehler = lngZeile + 1
End If
Next lngZeile
' Bildschirmaktualisierung einschalten
Application.ScreenUpdating = True
End Sub



Anzeige
AW: Diagramm erstellen VBA
06.08.2012 13:05:39
andreas
Hallo Beverly
Danke für die schnelle Antwort, habe deinen Code eingebaut und getestet, läuft aber leider nicht durch. Es kommt ein Syntaxfehler.
Kannst du da noch mal nachschauen.
Danke Andreas
AW: Diagramm erstellen VBA
06.08.2012 13:36:17
Beverly
Hi Andreas,
bei einem Syntaxfehler hast du den Code wahrscheinlich nicht richtig aus dem Forum übernommen. Gehe doch einfach mal die rot markierten Zeilen durch und lösche die Zeilenumbrüche am Ende.


Danke
06.08.2012 13:51:22
andreas
Hallo Beverly,
danke für die Hilfe genau das wars.
Gruß Andreas
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige