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

Forumthread: Diagramm y-Achse bei Minimum x-Achse schneiden

Diagramm y-Achse bei Minimum x-Achse schneiden
05.03.2009 09:32:13
Marco
Hallo zusammen.
Ich erstelle per VBA aus einer generierten .txt Datei, ein Excelblatt, in dem immer 2 Datenreihen als Diagramm dargestellt werden. (3 Diagramme)
Mein Problem ist nun, dass ich die y-Achse, der Übersichtlichkeit halber, am Minimum der x-Achse Schneiden soll.
Habe gedacht, es könnte mit
ActiveChart.Axes(xlCategory).CrossesAt = xlMinimum
gehen, allerdings erstellert er mir da die y-Achse immer bei dem x-Wert 4.
Hoffe igr könnt mir helfen
Gruß
Marco
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Diagramm y-Achse bei Minimum x-Achse schneiden
05.03.2009 14:55:09
Chris
Servus Marco,
xlMinimum ist mit 4 belegt, das ist nicht der kleinste x-Wert. Ich denke aber das du den kleinsten x-Wert bzw . den Anfangswert ja kennst (steht ja irgendwo).
dann versuch's mal so:
Anfangswert = Range("xy")
With ActiveChart.Axes(xlCategory)
.MinimumScale = Anfangswert
End With
Gruß
Chris
Anzeige
AW: Diagramm y-Achse bei Minimum x-Achse schneiden
05.03.2009 16:01:30
fcs
Hallo Marco,
der standardmäßige Schnittpunkt von X- (Kategorie-)-Achse und Y-Achse ist vom Diagrammtyp abhängig.
Beim XY-Punkt-Diagramm ist er meist bei 0.
Als Option kann nur die Einstellung "Größenachse (Y) schneidet bei Maximum" gewählt werden.
Für alle anderen Schnittpunkte muss man den Wert explizit vorgeben.
Code-m´ßig schaut das dann für ein XY-Diagramm etwa wie folgt aus.
Gruß
Franz

Sub Makro1()
Dim wks As Worksheet, objDiag As Chart, rngBereich As Range
Set wks = Worksheets(1) 'oder Worksheets("Tabelel1")
'Datenbereich des Diagramms (Spalten A und B)
With wks
.Activate
Set rngBereich = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 1))
End With
'Diagramm erstellen
Charts.Add
ActiveChart.ChartType = xlXYScatter 'Punkt XY-Diagramm
ActiveChart.SetSourceData Source:=rngBereich, PlotBy _
:=xlColumns
'diagramm im Blatt eingebettet
'    ActiveChart.Location Where:=xlLocationAsObject, Name:=wks.Name
'    Set objDiag = wks.ChartObjects(wks.ChartObjects.Count).Chart
'Diagramm separat
ActiveChart.Location Where:=xlLocationAsNewSheet
Set objDiag = ActiveWorkbook.Charts(ActiveWorkbook.Charts.Count)
'X-Achse formatieren
With objDiag.Axes(xlCategory)
.MinimumScaleIsAuto = False
.MinimumScale = Application.WorksheetFunction.Min(objDiag.SeriesCollection(1).XValues)
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlCustom
.CrossesAt = Application.WorksheetFunction.Min(objDiag.SeriesCollection(1).XValues)
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
End Sub


Anzeige
AW: Diagramm y-Achse bei Minimum x-Achse schneiden
10.03.2009 12:46:39
Marco
Danke, mit anpassen klappt es wunderbar.
(Habe 3 Diagramme à 2 Reihen, wobei die Reihen jeweils auf einem anderem Worksheet stehen, wovon Reihe 1 immer negative x-Werte hat)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Diagramm y-Achse bei Minimum x-Achse positionieren


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in einem Excel-Arbeitsblatt gut strukturiert sind. Du benötigst mindestens zwei Datenreihen für das Diagramm.

  2. Diagramm erstellen: Öffne Excel und wähle den Datenbereich aus. Gehe zu Einfügen -> Diagramme -> Punkt (XY)-Diagramm.

  3. Achsen formatieren:

    • Klicke auf das Diagramm und öffne die Diagrammtools.
    • Rechtsklicke auf die x-Achse und wähle „Achse formatieren“.
    • Setze die MinimumScale auf den gewünschten Wert (z.B. den kleinsten x-Wert), um das Excel-Diagramm nicht bei 0 beginnen zu lassen.
  4. VBA-Code verwenden: Wenn Du automatisieren möchtest, kannst Du den folgenden VBA-Code verwenden, um die y-Achse am Minimum der x-Achse zu positionieren:

    Sub Makro1()
       Dim wks As Worksheet, objDiag As Chart, rngBereich As Range
       Set wks = Worksheets(1) 'oder Worksheets("Tabelle1")
       With wks
           Set rngBereich = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, 1))
       End With
       Charts.Add
       ActiveChart.ChartType = xlXYScatter 'Punkt XY-Diagramm
       ActiveChart.SetSourceData Source:=rngBereich, PlotBy:=xlColumns
       ActiveChart.Location Where:=xlLocationAsNewSheet
       Set objDiag = ActiveWorkbook.Charts(ActiveWorkbook.Charts.Count)
    
       With objDiag.Axes(xlCategory)
           .MinimumScaleIsAuto = False
           .MinimumScale = Application.WorksheetFunction.Min(objDiag.SeriesCollection(1).XValues)
           .Crosses = xlCustom
           .CrossesAt = Application.WorksheetFunction.Min(objDiag.SeriesCollection(1).XValues)
       End With
    End Sub
  5. Diagramm anpassen: Teste verschiedene Diagrammtypen, um zu sehen, welcher für Deine Daten am besten geeignet ist.


Häufige Fehler und Lösungen

  • Fehler: Die y-Achse schneidet immer bei x = 4.

    • Lösung: Stelle sicher, dass Du die MinimumScale korrekt setzt. Verwende den kleinsten x-Wert aus Deinen Daten.
  • Fehler: Das Excel-Diagramm beginnt nicht ab dem gewünschten Wert.

    • Lösung: Überprüfe die Einstellungen für die MinimumScale der x-Achse und setze diese manuell, um das Diagramm nicht bei 0 beginnen zu lassen.

Alternative Methoden

Eine alternative Methode ist die Verwendung der Diagrammtools in Excel, um die y-Achse manuell zu formatieren. Du kannst auch verschiedene Diagrammtypen ausprobieren, wie z.B. Liniendiagramme oder Säulendiagramme, um zu sehen, welche Ansicht Deine Daten am besten darstellen.


Praktische Beispiele

  • Beispiel 1: Wenn Du negative x-Werte hast, kannst Du die MinimumScale der x-Achse auf den kleinsten negativen Wert setzen, um ein Excel-Diagramm zu erstellen, das ab einem bestimmten Wert beginnt.

  • Beispiel 2: Setze die y-Achse nicht bei 0, wenn Deine Daten dies nicht erfordern. Dies gibt Dir eine klarere Sicht auf die relevanten Werte.


Tipps für Profis

  • Nutze die Möglichkeit, den Schnittpunkt mit der x-Achse anzugeben, um die Übersichtlichkeit zu verbessern.
  • Experimentiere mit verschiedenen Diagrammtypen, um herauszufinden, welches am besten für Deine Daten geeignet ist.
  • Achte darauf, dass Du die Achsenbeschriftungen klar und präzise hältst, damit die Leser die Daten leicht interpretieren können.

FAQ: Häufige Fragen

1. Kann ich die y-Achse an einem anderen Punkt als dem Minimum der x-Achse positionieren?
Ja, Du kannst die y-Achse an jedem beliebigen Punkt positionieren, indem Du den entsprechenden Wert in den Achseneinstellungen manuell angibst.

2. Wie kann ich ein Excel-Diagramm erstellen, das nicht bei 0 beginnt?
Setze einfach die MinimumScale der x-Achse auf den gewünschten Startwert, um das Diagramm ab einem bestimmten Wert beginnen zu lassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige