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
Anzeige