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

Verstecken der X-Achsenbeschriftung

Forumthread: Verstecken der X-Achsenbeschriftung

Verstecken der X-Achsenbeschriftung
18.02.2014 17:25:54
René
Hallo,
da ich in einigen Fällen die X-Achsenbeschriftung benötige und in einigen nicht, möchte ich sie gerne wahlweise sichtbar machen oder nicht.
Mit dem X-Achsentitel, dem Y-Achsentitel und dem Diagrammtitel hat es wie folgt geklappt:
With myChtObj.Chart
.ChartType = xlXYScatterLines
....
.Axes(xlCategory, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
.Axes(xlValue, xlPrimary).AxisTitle.Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
.ChartTitle.Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
Leider bekomme ich das nicht für die Achsenbeschriftungen (TickLabels) hin. Lediglich auf Weiss setzen
.Axes(xlCategory, xlPrimary).TickLabels.Font.Color = RGB(255, 255, 255)
möchte ich sie nicht, da dadurch beim Überlagern von Diagrammen unterliegende Beschriftungen verdeckt werden.
Mit
.Axes(xlCategory, xlPrimary).TickLabels.Font.Color = xlNone
erhalte ich nicht das gewünschte Ergebnis.
Wenn ich in meinem Diagramm die Beschriftungen selektiere, kann ich über die Diagrammtools - Textfüllung - Keine Füllung diese ausblenden.
Der Makrorecorder gibt dann folgendes wieder:
ActiveChart.Axes(xlCategory).Select
Selection.Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
Wie kann ich das auf die Achsenbeschriftung anwenden, ohne vorher zu selektieren?
Vielen Dank schon im Voraus für die Hilfe,
René
Ich verwende Excel 2010.

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verstecken der X-Achsenbeschriftung
18.02.2014 17:35:01
fcs
Hallo Rene,
probiere es mal etwa in folgender Form. Die 1. With-Zeile hast du ja schon
With myChtObj.Chart
.Axes(xlCategory).Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
End With
Gruß
Franz

AW: Verstecken der X-Achsenbeschriftung
19.02.2014 10:18:35
René
Hallo Franz,
ich habe mal Deinen Tipp versucht. Er verursacht folgende Meldung:
Laufzeitfehler '-2147467259 (80004005)': Die Methode 'TextFrame2' für das Objekt 'ChartFormat'ist fehlgeschlagen
Danke Dir dennoch für Deinen Tipp,
René

Anzeige
AW: Verstecken der X-Achsenbeschriftung
18.02.2014 17:48:14
Beverly
Hi René,
versuche es mal so:
.Axes(xlCategory).TickLabelPosition = xlNone


AW: Verstecken der X-Achsenbeschriftung
19.02.2014 10:41:06
René
Hallo Karin,
wenn ich Deinen Hinweis berücksichtige, dann verschwindet die Beschriftung wirklich, die TickMarks bleiben erhalten. Da ist soweit gut :)
Was ich vorher nicht erwähnt hatte, ich verwende eine Dummie-Reihe und dessen Datenbeschriftung _ für eine weitere, unregelmäßige Beschriftung der X-Achse. Setze ich

...TickLabelPosition = xlNone
so geht der Rahmen der Achsenbeschriftung als Platzhalter verloren und die Datenbeschriftungen rutschen dichter an die X-Achse. Über ein ein

...Visible = msoFalse
wie es der Makrorecorder ausgibt, passierte das nicht.
Ich hatte die Idee, dass ich über die Methode 'Visible' und einer Variablen die Sichtbarkeiten verschiedener Beschriftungen einfacher steuern kann.
Werde nun mal versuchen, der Datenbeschriftung einen festgesetzten Abstand zum Datenpunkt zu geben. Dann sieht es zumindest im Ergebnis genauso aus.
Danke Dir,
René

Anzeige
AW: Verstecken der X-Achsenbeschriftung
19.02.2014 10:51:55
Beverly
Hi René,
solche wichtigen Details sollte man nicht unterwähnt lassen...
Wie wäre es, wenn du die Höhe der Zeichnungsfläche verringerst?


AW: Verstecken der X-Achsenbeschriftung
19.02.2014 11:22:01
René
Hallo Karin,
ja, das habe ich dann beim Probieren Deines Hinweises auch gemerkt. Durch die Klicklösung über die Diagrammtools war mir das nicht aufgefallen.
Meinst Du mit 'Höhe der Zeichnungsfläche' die 'PlotArea'? Diese muss konstant bleiben, da ich manchmal Diagramme (unterschiedlicher Inhalt oder auch mehr als 255 Datenreihen) überlagern muss.
Ich weiß nun, dass ich über
...Points(i).DataLabel.Top = Application.CentimetersToPoints(13.86)

die Position der Datenbeschriftung an die gewünschte Stelle bringen kann, ob nun mit oder ohne Achsenbeschriftung.
Ich denke, dass damit meine Frage gelöst ist.
Dankeschön,
René
Anzeige
;
Anzeige

Infobox / Tutorial

X-Achsenbeschriftung in Excel Diagrammen verstecken


Schritt-für-Schritt-Anleitung

Um die X-Achsenbeschriftung in einem Excel-Diagramm zu verstecken, kannst du den folgenden VBA-Code verwenden. Dieser Code setzt die Sichtbarkeit der TickLabels auf msoFalse:

With myChtObj.Chart
    .Axes(xlCategory).Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
End With

Dieser Code funktioniert für Excel 2010 und neuere Versionen. Stelle sicher, dass myChtObj auf dein Diagrammobjekt verweist.

Wenn du die Achsenbeschriftungen (TickLabels) verstecken möchtest, ohne sie auf Weiß zu setzen, kannst du auch folgende Zeile verwenden:

.Axes(xlCategory).TickLabelPosition = xlNone

Häufige Fehler und Lösungen

  1. Laufzeitfehler '-2147467259 (80004005)': Dieser Fehler tritt auf, wenn die Methode TextFrame2 nicht korrekt angewendet wird. Stelle sicher, dass du die richtige Syntax verwendest und dass das Diagrammobjekt korrekt referenziert ist.

  2. Tick Marks bleiben sichtbar: Wenn du .TickLabelPosition = xlNone verwendest, kann es sein, dass die Tick Marks erhalten bleiben. In diesem Fall kannst du die Sichtbarkeit der TickLabels wie oben beschrieben auf msoFalse setzen.


Alternative Methoden

Eine alternative Methode, um die X-Achsenbeschriftung in Excel-Diagrammen zu verstecken, ist die Verwendung der Diagrammtools:

  1. Wähle das Diagramm aus.
  2. Klicke auf die Achsenbeschriftung, die du ausblenden möchtest.
  3. Gehe zu den Diagrammtools und wähle "Textfüllung" > "Keine Füllung".

Das manuelle Ausblenden kann hilfreich sein, wenn du die Diagramme überlagern möchtest und sicherstellen willst, dass keine überflüssigen Beschriftungen sichtbar sind.


Praktische Beispiele

Ein Beispiel für die Anwendung des Codes könnte so aussehen:

Sub HideXAxisLabels()
    Dim myChtObj As ChartObject
    Set myChtObj = ActiveSheet.ChartObjects("Diagramm1") ' Ersetze "Diagramm1" mit dem Namen deines Diagramms

    With myChtObj.Chart
        .Axes(xlCategory).Format.TextFrame2.TextRange.Font.Fill.Visible = msoFalse
        .Axes(xlCategory).TickLabelPosition = xlNone
    End With
End Sub

Dieses Makro blendet die X-Achsenbeschriftung für das Diagramm mit dem Namen "Diagramm1" aus und ist besonders nützlich, wenn du mehrere Diagramme auf einem Arbeitsblatt hast.


Tipps für Profis

  • Diagramme überlagern: Achte darauf, dass du die Höhe der Zeichnungsfläche (PlotArea) anpasst, wenn du mehrere Diagramme überlagern möchtest. So kannst du sicherstellen, dass die Datenbeschriftungen nicht zu nah an der X-Achse sind.

  • Variablen für Sichtbarkeit nutzen: Du kannst Variablen verwenden, um die Sichtbarkeit der Achsenbeschriftungen zu steuern. Beispielsweise:

Dim showLabels As Boolean
showLabels = False ' Setze auf True, um die Beschriftungen anzuzeigen

With myChtObj.Chart
    .Axes(xlCategory).Format.TextFrame2.TextRange.Font.Fill.Visible = IIf(showLabels, msoTrue, msoFalse)
End With

So hast du eine flexible Möglichkeit, die Sichtbarkeit je nach Bedarf zu steuern.


FAQ: Häufige Fragen

1. Wie kann ich die Achsenbeschriftungen wieder sichtbar machen?
Du kannst einfach die Sichtbarkeit wieder auf msoTrue setzen, indem du den entsprechenden VBA-Code anpasst.

2. Was passiert, wenn ich die TickMarks ausblende?
Das Ausblenden der TickMarks kann die Lesbarkeit des Diagramms beeinflussen, insbesondere wenn die Achse keine anderen Bezugspunkte hat. Achte darauf, dass dein Diagramm weiterhin klar und verständlich bleibt.

3. Funktioniert dieser Code in allen Excel-Versionen?
Der oben genannte Code funktioniert in Excel 2010 und neueren Versionen. In älteren Versionen kann es zu Abweichungen kommen.

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