Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
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
Beschriftung der Y-achse
04.11.2015 15:39:51
Bjoern
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!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beschriftung der Y-achse
04.11.2015 20:58:49
Beverly
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")


AW: Beschriftung der Y-achse
05.11.2015 07:56:24
Bjoern
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

Anzeige
AW: Beschriftung der Y-achse
05.11.2015 08:29:36
Beverly
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


Anzeige
AW: Beschriftung der Y-achse
05.11.2015 09:08:20
Bjoern
Danke!

12 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige