Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Diagramm

Forumthread: Makro Diagramm

Makro Diagramm
24.03.2006 09:55:49
Andi
Guten Morgen Community,
ich habe ein Problem mit meinem Makro. Zeichne ich es auf und spiele es in der selben Datei ab, dann funktioniert es einwandfrei. Öffne ich die selbe Datei allerdings neu und spiele es wieder ab, funktioniert es nicht mehr ganz.
Dabei habe ich darauf geachtet, dass die Ausgangsbedingungen immer die selben sind (sind es auch).
Das Makro soll ein Diagramm mit Sekundärachse ("Linie - Säule auf zwei Achsen") machen. Hier der Code...
Sheets("Alter + Kosten").Select
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Linie - Säule auf zwei Achsen"
ActiveChart.SetSourceData Source:=Sheets("Alter + Kosten").Range("N1:AG1,N" & LetzteZeile + 5 & ":AG" & LetzteZeile + 5 & ",N" & LetzteZeile + 2 & ":AG" & LetzteZeile + 2) _
, PlotBy:=xlRows
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="D_Kosten+Ausfälle"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.Axes(xlCategory, xlSecondary).HasTitle = False
.Axes(xlValue, xlSecondary).HasTitle = False
End With
Das Problem: Der Debugger bringt einen Laufzeitfehler in der drittletzten Zeile, also dort, wo er mit der Sekundärachsen-name definiert werden soll. Er kann ihr keinen Name geben, weil er keine erstellt hat.
(Die Range stimmt auf jeden Fall!!)
Frage:
Warum geht das Makro nicht? Als Teilergebnis habe ich immerhin alles im Diagramm bis auf die Sekundärachse eben mit der 2. Kurve/Linie.
Hoffe, Ihr könnt mir weiterhelfen
Danke
Andi
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag
24.03.2006 10:51:22
Andi
Da ich die Achsen sowieso nicht beschriftet haben möchte, habe ich einfach die Zeilen
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.Axes(xlCategory, xlSecondary).HasTitle = False
.Axes(xlValue, xlSecondary).HasTitle = False
gelöscht. Dann beschwert sich der Debugger nicht mehr, aber ich habe immernoch das Problem, dass die Sekundärachse fehlt?
Anzeige
AW: Nachtrag
24.03.2006 16:11:03
Herbert
hallo Andi,
in etwa so:


Sub x()
With Charts.Add
    .ApplyCustomType ChartType:=xlBuiltIn, TypeName:="Linie - Säule auf zwei Achsen"
    .SetSourceData Source:=Sheets("Alter + Kosten").Range("N1:AG1,N" & LetzteZeile + 5 & ":AG" _
    & LetzteZeile + 5 & ",N" & LetzteZeile + 2 & ":AG" & LetzteZeile + 2) _
    , PlotBy:=xlRows
    .Location Where:=xlLocationAsNewSheet, Name:="D_Kosten+Ausfälle"
    .HasTitle = False
    .SeriesCollection(2).AxisGroup = 2
    .Deselect
End With
End Sub

     gruß Herbert
Anzeige
AW: Nachtrag
24.03.2006 16:26:00
Andi
Hallo Herbert,
Du bist genial, ich dachte schon, keiner antwortet mir. Es funktioniert!!
Kannst Du mir noch sagen, warum ich die beiden Datenreihen in 2 unterschiedlichen Farben auf einer Säule habe? Die Funktion heißt doch "Linie - Säule auf zwei Achsen" also warum stellt er die zweite Datenreihe nicht als Linie dar?
Vielen Dank!!
Andi
Anzeige
AW: Nachtrag
24.03.2006 17:23:04
Herbert
ich weis es im Moment auch nicht...
mußt es halt so machen:


Sub x()
With Charts.Add
    .SetSourceData Source:=Sheets("Alter + Kosten").Range("N1:AG1,N" & LetzteZeile + 5 & ":AG" _
    & LetzteZeile + 5 & ",N" & LetzteZeile + 2 & ":AG" & LetzteZeile + 2) _
    , PlotBy:=xlRows
    .Location Where:=xlLocationAsNewSheet, Name:="D_Kosten+Ausfälle"
    .HasTitle = False
    .SeriesCollection(2).AxisGroup = 2
    .SeriesCollection(1).ChartType = xlColumnClustered
    .SeriesCollection(2).ChartType = xlLine
    .Deselect
End With
End Sub

     gruß Herbert
Anzeige
AW: Nachtrag
29.03.2006 09:59:46
Andi
Hallo Herbert,
falls es Dich noch interessiert - es funktioniert! Das Diagramm wird korrekt angezeigt!
Vielen Dank!
Andi
Diagramm bitte hochladen
24.03.2006 20:40:05
bernd
Hi Andi,
könntest du das Diagramm b i t t e mal hochladen. Aufgabe und Lösung würde mich sehr interessieren,da ich mit diesem Diagrammtyp auch des öfteren arbeite.
Danke vorab.
Bernd
Anzeige
AW: Diagramm bitte hochladen
29.03.2006 09:52:40
Andi
Hallo Bernd,
sorry, für die späte Antwort, war ein paar Tage unterwegs.
Ich kann Dir die Daten leider nicht zur Verfügung stellen, sonst krieg ich Ärger! Ansonsten selbstverständlich gerne.
Aber falls es Dir hilft, mein Diagramm ist so aufgebaut - ich nehme:
(Pro Spalte 1 Monat)
Zeile a Monatsname
Zeile b Zahl zwischen 0-30
Zeile c Zahl zwischen 0- ca. 50000
Habe immernoch nicht herausgefunden, warum das nicht ganz funktioniert.
Gruß
Andi
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