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

Forumthread: VBA X-Achsen Anpassen

VBA X-Achsen Anpassen
10.01.2019 07:45:59
Christian
Guten Morgen,
ich brauche mal eure Hilfe. Ich habe mit VBA ein Diagramm erstellt. Das klappt auch alles soweit ganz gut. Ich weiß wie ich die Schriftgröße für den X-Achsen Titel anpassen kann, aber wie kann ich das für die Beschriftung der einzelnen Balken machen? Also das was auf der X-Achse an den Balken steht?
Sub diagrammerstellen()
Dim lngZeile As Long
Dim wksTab As Worksheet
Set wksTab = Worksheets("2018")
'Verwendeter Diagrammtyp
With ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Chart
.SetSourceData Source:=Range("'2018'!$B$8")
If .SeriesCollection.Count = 1 Then .SeriesCollection(1).Delete
For lngZeile = 1 To 40
If Cells(lngZeile, 4) = "Ausbilder" Then
With .SeriesCollection.NewSeries
'Name des erzeugten Balkens
.Name = "='2018'!$B$" & lngZeile
'Daten für den erzeugten Balken
.Values = wksTab.Cells(lngZeile, 17)
End With
End If
Next lngZeile
.SeriesCollection(1).XValues = wksTab.Range("Q6")
.HasLegend = True
.SetElement (msoElementLegendRight)
.SetElement (msoElementChartTitleAboveChart)
'Titel des Diagrammes
.ChartTitle.Caption = "Ausbilder Gehälter"
.ChartTitle.Format.TextFrame2.TextRange.Font.Size = 28
.ChartTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
With .Legend.Delete
End With
'Beschriftung der Y-Achse
With .Axes(xlValue)
.HasTitle = True
.Axes.Format.TextFrame2.TextRange.Font.Size = 20
.Axes(xlValue).Format.TextFrame2.TextRange.Font.Bold = msoTrue
.AxisTitle.Caption = "Gehalt in €"
.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
.AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
End With
'Beschriftung der X-Achse; Der Wert wird aus der Zelle Q6 gezogen
With .Axes(xlCategory)
.HasTitle = True
.AxisTitle.Caption = wksTab.Range("Q6")
.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
.AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
End With
.PlotBy = xlColumns
End With
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA X-Achsen Anpassen
10.01.2019 07:58:22
Christian
Ich habe gesehen, dass ich noch meinen letzten Versuch von der Formatierung in den Zeilen stehen hatte.
Hier die Aktuelle Version meines Skiptes:
Sub diagrammerstellen()
Dim lngZeile As Long
Dim wksTab As Worksheet
Set wksTab = Worksheets("2018")
'Verwendeter Diagrammtyp
With ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Chart
.SetSourceData Source:=Range("'2018'!$B$8")
If .SeriesCollection.Count = 1 Then .SeriesCollection(1).Delete
For lngZeile = 1 To 40
If Cells(lngZeile, 4) = "Ausbilder" Then
With .SeriesCollection.NewSeries
'Name des erzeugten Balkens
.Name = "='2018'!$B$" & lngZeile
'Daten für den erzeugten Balken
.Values = wksTab.Cells(lngZeile, 17)
End With
End If
Next lngZeile
.SeriesCollection(1).XValues = wksTab.Range("Q6")
.HasLegend = True
.SetElement (msoElementLegendRight)
.SetElement (msoElementChartTitleAboveChart)
'Titel des Diagrammes
.ChartTitle.Caption = "Ausbilder Gehälter"
.ChartTitle.Format.TextFrame2.TextRange.Font.Size = 28
.ChartTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
With .Legend.Delete
End With
'Beschriftung der Y-Achse
With .Axes(xlValue)
.HasTitle = True
.AxisTitle.Caption = "Gehalt in €"
.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
.AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
End With
'Beschriftung der X-Achse; Der Wert wird aus der Zelle Q6 gezogen
With .Axes(xlCategory)
.HasTitle = True
.AxisTitle.Caption = wksTab.Range("Q6")
.AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
.AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
End With
.PlotBy = xlColumns
End With
End Sub

Besteht auch die Möglichkeit zwei Bedingungen einzubauen für die Erstellung der Diagrammbalken?
Also z.B. Sowas:
If Cells(lngZeile, 4) = "Ausbilder"
and If Cells(lngZeile, 5) = "OT" Then
Anzeige
Beschriftung X-Achse anpassen
10.01.2019 09:00:44
Beverly
Hi,
das geht so:
.TickLabels.Font.Size = 20

Und zu deiner anderen Frage:
If Cells(lngZeile, 4) = "Ausbilder" And Cells(lngZeile, 5) = "OT" Then



Anzeige
AW: Beschriftung X-Achse anpassen
10.01.2019 12:58:26
Christian
Perfekt! Dankeschön
;
Anzeige
Anzeige

Infobox / Tutorial

X-Achsen in Excel-Diagrammen mit VBA anpassen


Schritt-für-Schritt-Anleitung

Um die Beschriftung der X-Achse in einem Excel-Diagramm mit VBA anzupassen, kannst Du die folgenden Schritte befolgen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx), wähle Einfügen und dann Modul.

  3. Code einfügen: Kopiere den folgenden VBA-Code in das Modul:

    Sub diagrammerstellen()
       Dim lngZeile As Long
       Dim wksTab As Worksheet
       Set wksTab = Worksheets("2018")
       'Verwendeter Diagrammtyp
       With ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Chart
           .SetSourceData Source:=Range("'2018'!$B$8")
           If .SeriesCollection.Count = 1 Then .SeriesCollection(1).Delete
           For lngZeile = 1 To 40
               If Cells(lngZeile, 4) = "Ausbilder" Then
                   With .SeriesCollection.NewSeries
                       'Name des erzeugten Balkens
                       .Name = "='2018'!$B$" & lngZeile
                       'Daten für den erzeugten Balken
                       .Values = wksTab.Cells(lngZeile, 17)
                   End With
               End If
           Next lngZeile
           .SeriesCollection(1).XValues = wksTab.Range("Q6")
           .HasLegend = True
           .SetElement (msoElementLegendRight)
           .SetElement (msoElementChartTitleAboveChart)
           'Titel des Diagrammes
           .ChartTitle.Caption = "Ausbilder Gehälter"
           .ChartTitle.Format.TextFrame2.TextRange.Font.Size = 28
           .ChartTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
           With .Legend.Delete
           End With
           'Beschriftung der Y-Achse
           With .Axes(xlValue)
               .HasTitle = True
               .AxisTitle.Caption = "Gehalt in €"
               .AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
               .AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
           End With
           'Beschriftung der X-Achse
           With .Axes(xlCategory)
               .HasTitle = True
               .AxisTitle.Caption = wksTab.Range("Q6")
               .AxisTitle.Format.TextFrame2.TextRange.Font.Size = 20
               .AxisTitle.Format.TextFrame2.TextRange.Font.Bold = msoTrue
               .TickLabels.Font.Size = 20 ' X-Achsen-Beschriftung anpassen
           End With
           .PlotBy = xlColumns
       End With
    End Sub
  4. Code ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle diagrammerstellen aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: X-Achsen-Beschriftungen werden nicht angezeigt
    Lösung: Überprüfe, ob die X-Werte korrekt in der XValues-Eigenschaft zugewiesen sind. Stelle sicher, dass die Zelle "Q6" die gewünschten Daten enthält.

  • Fehler: VBA-Code führt nicht aus
    Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros und aktiviere die Option für Makros.


Alternative Methoden

Wenn Du die X-Achsen-Beschriftung nicht über VBA anpassen möchtest, kannst Du auch direkt im Diagramm in Excel die Schriftgröße anpassen. Klicke mit der rechten Maustaste auf die X-Achsen-Beschriftung und wähle Schriftart, um Größe und Stil zu ändern.


Praktische Beispiele

Hier ist ein Beispiel für die Verwendung von mehreren Bedingungen beim Erstellen von Diagrammbalken:

If Cells(lngZeile, 4) = "Ausbilder" And Cells(lngZeile, 5) = "OT" Then
    ' Code zum Hinzufügen des Balkens
End If

Diese Bedingung ermöglicht es, nur Balken für "Ausbilder" und "OT" darzustellen, was hilfreich ist, um spezifische Daten zu visualisieren.


Tipps für Profis

  • Optimierung der Diagrammgestaltung: Experimentiere mit verschiedenen Diagrammtypen und -formatierungen, um die Datenansicht zu verbessern. Nutze die SetElement-Methode, um schnell Diagramm-Elemente hinzuzufügen oder zu ändern.

  • Verwendung von benutzerdefinierten Farben: Du kannst die Farben der Balken anpassen, indem Du die Interior.Color-Eigenschaft der Serie verwendest.


FAQ: Häufige Fragen

1. Wie kann ich die Schriftgröße der X-Achsen-Beschriftung in Excel anpassen?
Du kannst die Schriftgröße der X-Achsen-Beschriftung mit folgendem VBA-Befehl anpassen:

.TickLabels.Font.Size = 20

2. Ist es möglich, die Schriftart der X-Achsen-Beschriftung zu ändern?
Ja, Du kannst die Schriftart ebenfalls über VBA ändern:

.TickLabels.Font.Name = "Arial" ' Beispiel für die Schriftart

Diese Anleitungen helfen Dir, die X-Achsen in Deinen Excel-Diagrammen effektiv anzupassen und zu gestalten. Experimentiere mit den verschiedenen Möglichkeiten, um die besten Ergebnisse für Deine Datenpräsentationen zu erzielen.

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