Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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



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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige