Beschriftung der Y-achse

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm Label
Bild

Betrifft: Beschriftung der Y-achse
von: Bjoern
Geschrieben am: 04.11.2015 15:39:51

Hallo VBA´ler,
ich möchte gerne in einem Userform ein Diagramm darstellen lassen. in Excel kann man die horizontale Achsbeschriftung (Rubrik) ändern, indem man einen Bereich der Datentabelle auswählt/markiert und diesen in das Diagramm übernimmt.
Wie kann man das in VBA realisieren? Ich habe versucht die Beschriftung über .ticklabel einzufügen, hab es aber leider nicht geschafft. Kann mir jemand weiterhelfen?
Set cht = Charts.Add
Application.ScreenUpdating = False
cht.ChartType = xlBarClustered
cht.HasLegend = False
cht.HasAxis(xlCategory) = True
cht.Axes(xlCategory).TickLabels.Font.Size = 10
cht.HasAxis(xlValue, xlPrimary) = False
cht.SeriesCollection(1).Interior.Color = RGB(96, 123, 139)
cht.ChartGroups(1).GapWidth = 180
cht.SeriesCollection(1).HasDataLabels = True
cht.SeriesCollection(1).DataLabels.Position = xlLabelPositionInsideBase
cht.SeriesCollection(1).DataLabels.Font.ColorIndex = 2
With cht.SeriesCollection(1).DataLabels.Font
.Size = 10
.Name = "Arial"
.FontStyle = "regular"
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
End With
Vielen Dank!

Bild

Betrifft: AW: Beschriftung der Y-achse
von: Beverly
Geschrieben am: 04.11.2015 20:58:49
Hi Björn,
die Rubrikenbeschriftung weist man zu, indem man für die 1. Datenreihe die XValues als Zellbereich zuweist - also z.B.

cht.SeriesCollection(1).XValues = Worksheets("Tabelle").Range("A1:A20")



Bild

Betrifft: AW: Beschriftung der Y-achse
von: Bjoern
Geschrieben am: 05.11.2015 07:56:24
Hallo Karin,
Danke für Deinen Lösungsvorschlag. Ich habe versucht diesen umzusetzen, hab es aber leider nicht hinbekommen.
Bei diesem Balkendiagramm soll die Beschriftung nicht auf der X-Achse dargestellt werden, sondern auf der Y-Achse. Ich bin davon ausgegangen, dass die Beschriftung der Y-Achse analog zur X-Achse erstellt wird.
Im Anhang habe ich die Datei und ein Screenshot beigefügt. Vielleicht hilft das weiter.
Gruß, Björn

Sub iagramm()
Dim cht As Chart
Set cht = Charts.Add
        Application.ScreenUpdating = False
        cht.ChartType = xlBarClustered
        cht.HasLegend = False
        cht.HasAxis(xlCategory) = True
        cht.Axes(xlCategory).TickLabels.Font.Size = 20
        cht.HasAxis(xlValue, xlPrimary) = True
        'cht.SeriesCollection(1).XValues = Array(1, 4, 6, 4)
        cht.SetSourceData Source:=Sheets("Diagramm").Range("A1:A4"), PlotBy:=xlColumns
        cht.SeriesCollection(1).Interior.Color = RGB(96, 123, 139)
        cht.ChartGroups(1).GapWidth = 180
        cht.SeriesCollection(1).HasDataLabels = True
        cht.SeriesCollection(1).DataLabels.Position = xlLabelPositionInsideBase
        cht.SeriesCollection(1).DataLabels.Font.ColorIndex = 2
        With cht.SeriesCollection(1).DataLabels.Font
        .Size = 20
        .Name = "Arial"
        .FontStyle = "regular"
        End With
        With ActiveChart.Axes(xlValue)
        .HasMajorGridlines = False
        End With
        With ActiveChart
       .PlotArea.Width = 400
       .PlotArea.Height = 300
       .PlotArea.Top = 20
       .PlotArea.Left = 20
        End With
        cht.Export "test.gif"
        With UserForm1.Image1
        .Picture = LoadPicture("test.gif")
        End With
        With UserForm1
        .Show
        Kill "test.gif"
        Application.DisplayAlerts = False
        cht.Delete
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
        End With
End Sub

https://www.herber.de/bbs/user/101259.xlsm
Userbild

Bild

Betrifft: AW: Beschriftung der Y-achse
von: Beverly
Geschrieben am: 05.11.2015 08:29:36
Hi Björn,
bei einem Balkendiagramm ist die Vertikalachse die X-(Rubriken)-Achse und die Horizontalachse die Y-(Werte)-Achse - wenn also die Beschriftung der Vertikalachse gemeint ist, dann geht das genau so wie ich geschrieben habe. Bei deinem Code ist nur das Problem, dass das Diagramm noch gar keine Datenreihe enthält, du aber bereits der 1. Datenreihe die X-Werte zuweisen willst - tausche die auskommentierte Zeile und die darunter aus, dann sollte es auch funktionieren.

Sub Diagramm()
    Dim cht As Chart
    Set cht = Charts.Add
    Application.ScreenUpdating = False
    With cht
        .ChartType = xlBarClustered
        .HasLegend = False
        cht.Axes(xlCategory).TickLabels.Font.Size = 20
        .SetSourceData Source:=Worksheets("Diagramm").Range("A1:A4")
        With .SeriesCollection(1)
            .XValues = Array(1, 4, 6, 4)
            .Interior.Color = RGB(96, 123, 139)
            .HasDataLabels = True
            .DataLabels.Position = xlLabelPositionInsideBase
            .DataLabels.Font.ColorIndex = 2
            With .DataLabels.Font
                .Size = 20
                .Name = "Arial"
                .FontStyle = "regular"
            End With
        End With
        .ChartGroups(1).GapWidth = 180
        .Axes(xlValue).HasMajorGridlines = False
        .PlotArea.Width = 400
        .PlotArea.Height = 300
        .PlotArea.Top = 20
        .PlotArea.Left = 20
        .Export "test.gif"
        Application.DisplayAlerts = False
        .Delete
        Application.DisplayAlerts = True
    End With
    With UserForm1
        With .Image1
            .Picture = LoadPicture("test.gif")
            '.AutoSize = True
        End With
        .Show
    End With
    Kill "test.gif"
    Set cht = Nothing
    Application.ScreenUpdating = True
End Sub



Bild

Betrifft: AW: Beschriftung der Y-achse
von: Bjoern
Geschrieben am: 05.11.2015 09:08:20
Danke!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Beschriftung der Y-achse"