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

Erstellen eines Diagramms mit y-Achsen unter VBA!

Forumthread: Erstellen eines Diagramms mit y-Achsen unter VBA!

Erstellen eines Diagramms mit y-Achsen unter VBA!
09.08.2002 11:14:48
Christian
Hallo zusammen,

ich möchte unter VBA ein Diagramm mit 2 y-Achsen erstellen. Dabei habe ich mit dem Macro-Recorder folgenden Code aufgenommen:
Leider tritt ein Fehler auf (siehe Textmarkierung). Wo liegt das Problem???


Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Linien auf zwei Achsen"
ActiveChart.SetSourceData Source:=Sheets("Staffing-Ergebnis").Range("A1:B6"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, name:="Staffing-Ergebnis"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "^1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "2"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "3"

-> Fehler in der nachfolgenden Zeile
.Axes(xlCategory, xlSecondary).HasTitle = True
.Axes(xlCategory, xlSecondary).AxisTitle.Characters.Text = "4"
.Axes(xlValue, xlSecondary).HasTitle = True
.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "5"
End With


Mit freundlichen Grüßen

Christian

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Erstellen eines Diagramms mit y-Achsen unter VBA!
09.08.2002 11:52:44
Herbert
Hallo Christian,
Es war keine sekundäre Größenachse und keine sek.Rubrikenachse vorhanden.
Darum die Fehlermeldung.
Gruß Herbert

Sub Chart()
Application.ScreenUpdating = False
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Linien auf zwei Achsen"
ActiveChart.SetSourceData Source:=Sheets("Staffing-Ergebnis").Range("A1:B6"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Staffing-Ergebnis"

ActiveChart.SeriesCollection(2).AxisGroup = 2
 ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlCategoryScale
    ActiveChart.Axes(xlCategory, xlSecondary).CategoryType = xlAutomatic
    
With ActiveChart
        .HasAxis(xlCategory, xlPrimary) = True
        .HasAxis(xlCategory, xlSecondary) = True
        .HasAxis(xlValue, xlPrimary) = True
        .HasAxis(xlValue, xlSecondary) = True
  .HasTitle = True
  .ChartTitle.Characters.Text = "^1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "2"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "3"
 

.Axes(xlCategory, xlSecondary).HasTitle = True
.Axes(xlCategory, xlSecondary).AxisTitle.Characters.Text = "4"
.Axes(xlValue, xlSecondary).HasTitle = True
.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "5"
End With
Sheets("Staffing-Ergebnis").[A1].Activate
Application.ScreenUpdating = False
End Sub

     Alles über Formeln

Anzeige
Danke es funktioniert!
09.08.2002 13:06:02
Christian
Danke!
Re: Danke es funktioniert!
09.08.2002 18:50:00
Herbert
Hallo Christian,
"Screenupdating" mußt du am Ende natürlich wieder auf "True" setzen.
Gruß Herbert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm mit zwei Y-Achsen in Excel erstellen


Schritt-für-Schritt-Anleitung

Um ein Diagramm mit zwei Y-Achsen in Excel zu erstellen, kannst du den folgenden VBA-Code verwenden:

Sub Chart()
    Application.ScreenUpdating = False
    Charts.Add
    ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="Linien auf zwei Achsen"
    ActiveChart.SetSourceData Source:=Sheets("Staffing-Ergebnis").Range("A1:B6"), PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:="Staffing-Ergebnis"

    ' Setze die Achsen
    With ActiveChart
        .HasAxis(xlCategory, xlPrimary) = True
        .HasAxis(xlCategory, xlSecondary) = True
        .HasAxis(xlValue, xlPrimary) = True
        .HasAxis(xlValue, xlSecondary) = True
        .HasTitle = True
        .ChartTitle.Characters.Text = "^1"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "2"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "3"
        .Axes(xlCategory, xlSecondary).HasTitle = True
        .Axes(xlCategory, xlSecondary).AxisTitle.Characters.Text = "4"
        .Axes(xlValue, xlSecondary).HasTitle = True
        .Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "5"
    End With

    ' Aktiviere die Zelle A1
    Sheets("Staffing-Ergebnis").[A1].Activate
    Application.ScreenUpdating = True
End Sub

Stelle sicher, dass die Daten in der Tabelle "Staffing-Ergebnis" korrekt sind und die Bereiche stimmen.


Häufige Fehler und Lösungen

Problem: Fehlermeldung: "Keine sekundäre Größenachse vorhanden."

Lösung: Stelle sicher, dass du die Achsen korrekt initialisiert hast. Verwende den Befehl ActiveChart.SeriesCollection(2).AxisGroup = 2, um die zweite Datenreihe zur sekundären Achse zuzuweisen.

ActiveChart.SeriesCollection(2).AxisGroup = 2

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch manuell ein Diagramm mit zwei Y-Achsen erstellen:

  1. Erstelle ein normales Diagramm mit deinen Daten.
  2. Klicke mit der rechten Maustaste auf die Datenreihe, die du zur sekundären Achse verschieben möchtest.
  3. Wähle "Datenreihe formatieren".
  4. Aktiviere die Option "Sekundäre Achse".

Diese Methode ist einfacher, erfordert jedoch manuelle Anpassungen.


Praktische Beispiele

Hier ist ein Beispiel, um ein Excel-Diagramm mit zwei Y-Achsen zu erstellen:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe.

  2. Gib folgende Daten in die Zellen A1 bis B6 ein:

    X-Werte Y-Werte 1 Y-Werte 2
    1 10 20
    2 15 25
    3 20 30
    4 25 35
    5 30 40
  3. Verwende den oben genannten VBA-Code, um das Diagramm zu erstellen.


Tipps für Profis

  • Achte darauf, die Application.ScreenUpdating am Ende deines Makros auf True zu setzen, um die Bildschirmaktualisierung wieder zu aktivieren.
  • Nutze .Chart.Axes für erweiterte Anpassungen der Achsen.
  • Experimentiere mit verschiedenen Diagrammtypen, um visuell ansprechendere Präsentationen zu erstellen.

FAQ: Häufige Fragen

1. Wie kann ich die Achsentitel im VBA-Code anpassen?
Du kannst die Achsentitel im VBA-Code anpassen, indem du die AxisTitle.Characters.Text-Eigenschaft verwendest, wie im Beispiel gezeigt.

2. Welche Excel-Version benötige ich für die Verwendung von VBA?
In der Regel sind alle modernen Excel-Versionen (Excel 2007 und höher) mit VBA kompatibel. Stelle sicher, dass die Entwicklertools aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige