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

Forumthread: Diagramm erstellen mit Excell

Diagramm erstellen mit Excell
08.12.2016 08:17:58
Frank
Guten morgen zusammen,
ich folgendes problem und zwar habe ich nach langem tüfteln und suchen mal versucht ein diagramm zu erstellen, mit 4 Einträgen, davon sind jeweils zwei Linien und zwei Balken, alles in einem Diagramm.
Nun bekomme ich allerdings eine Fehlermeldung "Laufzeitfehler '1004' Anwendungs- objektdefinierter fehler".
und zwar bei dieser Zeile: Tabelle1.Shapes.AddChart XlChartType.xlLineMarkers, 500, 50, 1400, 430
Was kann ich da machen? und wie könnte ich dieses Wirrwar optimierien?
Hier der ganze Code:
Sub AlleDiagrammelöschen()
On Error Resume Next
ActiveSheet.ChartObjects.Delete
End Sub
Sub Diagramm()
Tabelle1.Select
AlleDiagrammelöschen
Union( _
Range("I23:AB23"), _
Range("I26:AA26"), _
Range("I11:AB11"), _
Range("I17:AB17")).Select
Tabelle1.Shapes.AddChart XlChartType.xlLineMarkers, 500, 50, 1400, 430
'Änderung der Legende und der Linien
With ActiveSheet.ChartObjects(1).Chart
.SeriesCollection(1).Name = "=""AGW Vorwoche"""
.SeriesCollection(1).Border.Weight = xlThick
.SeriesCollection(1).Interior.Color = RGB(86, 52, 111)
.SeriesCollection(1).XValues = "=Tabelle1!I5:AB5"
.SeriesCollection(2).Name = "=""AGW"""
.SeriesCollection(2).Border.Weight = xlThick
.SeriesCollection(3).Name = "=""AGN"""
.SeriesCollection(3).ChartType = xlColumnClustered
.SeriesCollection(4).Name = "=""AGP"""
.SeriesCollection(4).ChartType = xlColumnClustered
.SeriesCollection(1).ChartType = xlDash
End With
'Positionierung des Diagramms
ActiveSheet.ChartObjects(1).Top = Range("h30").Top
ActiveSheet.ChartObjects(1).Left = Range("h30").Left
End Sub

Danke für die Hilfe und Grüße,
Franky
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Diagramm erstellen mit VBA
08.12.2016 09:05:18
Beverly
Hi Franky,
kann ich nicht nachvollzeihen. Aber ich erhalte eine Fehlermeldung in dieser Zeile
.SeriesCollection(1).ChartType = xlDash

weil es den Diagrammtyp xlDash nicht gibt. Ich nehme an du meinst stattdessen, dass die linie gestrichelt sein soll:
.SeriesCollection(1).Format.Line.DashStyle = msoLineDash

Hier der gesamte Code wie ma es lösen vielleicht könnte:
Sub Diagramm()
Dim rngBereich As Range
With Tabelle1
If .ChartObjects.Count > 0 Then .ChartObjects.Delete
Set rngBereich = Union(.Range("I23:AB23"), .Range("I26:AA26"), _
.Range("I11:AB11"), .Range("I17:AB17"))
.Shapes.AddChart XlChartType.xlLineMarkers, 0, 0, 0, 0
'Änderung der Legende und der Linien
With .ChartObjects(1).Chart
.SetSourceData Source:=rngBereich
.SeriesCollection(1).Name = "=""AGW Vorwoche"""
.SeriesCollection(1).Border.Weight = xlThick
.SeriesCollection(1).Interior.Color = RGB(86, 52, 111)
.SeriesCollection(1).XValues = "=Tabelle1!I5:AB5"
.SeriesCollection(2).Name = "=""AGW"""
.SeriesCollection(2).Border.Weight = xlThick
.SeriesCollection(3).Name = "=""AGN"""
.SeriesCollection(3).ChartType = xlColumnClustered
.SeriesCollection(4).Name = "=""AGP"""
.SeriesCollection(4).ChartType = xlColumnClustered
.SeriesCollection(1).Format.Line.DashStyle = msoLineDash
End With
'Positionierung des Diagramms
.ChartObjects(1).Top = .Range("h30").Top
.ChartObjects(1).Left = .Range("h30").Left
.ChartObjects(1).Height = 430
.ChartObjects(1).Width = 1400
End With
End Sub


Anzeige
AW: Diagramm erstellen mit VBA
08.12.2016 09:29:16
Frank
Wow, danke für die schnelle antwort, klappt jetzt perfekt!
Grüße
Franky
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige