23.08.2018, 13:29
Hallo zusammen,
ich erstelle ein Punktdiagramm, wobei die Datenpunkte mit je dem ersten Buchstaben zweier Spalten beschriftet werden. Das funktioniert auch alles soweit.
Was mich hierbei jedoch noch stört, ist wenn man mit der Maus über die Datenpunkte geht, dass dort eine Anzeige bei jedem Datenpunkt aufploppt, die die komplette Datenreihe anzeigt. Ich füge einen Screenshot bei, sodass ihr mein Problem nachvollziehen könnt.
Mein Code ist folgender:
Ist es möglich entweder die Anzeige ganz auszublenden oder diese sogar so abzuändern, dass bspw. der komplette Name angezeigt wird?
ich erstelle ein Punktdiagramm, wobei die Datenpunkte mit je dem ersten Buchstaben zweier Spalten beschriftet werden. Das funktioniert auch alles soweit.
Was mich hierbei jedoch noch stört, ist wenn man mit der Maus über die Datenpunkte geht, dass dort eine Anzeige bei jedem Datenpunkt aufploppt, die die komplette Datenreihe anzeigt. Ich füge einen Screenshot bei, sodass ihr mein Problem nachvollziehen könnt.
Mein Code ist folgender:
Code:
Sub ErzeugungGraph()
Dim data As Worksheet
Dim name As Range
Set data = ActiveWorkbook.Worksheets("Sternenhimmel")
Dim ZeileMax As Integer
ZeileMax = Worksheets("Gehaltsdaten").Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = False
Worksheets("Sternenhimmel").Activate
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=data.Range("D1:D" & ZeileMax)
ActiveSheet.ChartObjects(1).Top = Range("F8").Top
ActiveSheet.ChartObjects(1).Left = Range("F8").Left
ActiveChart.SeriesCollection.NewSeries
With ActiveChart.SeriesCollection(1)
.XValues = "=Sternenhimmel!$C$1:$C$" & ZeileMax
.Values = "=Sternenhimmel!$D$1:$D$" & ZeileMax
.name = "=Sternenhimmel!$A$1:$A$" & ZeileMax
.Trendlines.Add Type:=xlLinear
End With
ActiveChart.location Where:=xlLocationAsObject, _
name:=ThisWorkbook.Worksheets(2).name
'Formatierung des Graphen
With ActiveChart
.PlotArea.Format.Fill.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.HasLegend = False
.Parent.Height = 600
.Parent.Width = 1200
.HasTitle = True
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Alter"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "JEK 35H"
.Axes(xlValue).MinimumScale = 0
.Axes(xlCategory).MaximumScale = 80
.SeriesCollection(1).Format.Fill.ForeColor.RGB = rgbBlue
End With
Worksheets(2).ChartObjects(1).Activate
With ActiveChart
.Axes(xlValue).AxisTitle.Font.Size = 20
.Axes(xlCategory).AxisTitle.Font.Size = 20
.PlotArea.Interior.ColorIndex = 15
End With
Sheets("Sternenhimmel").Select
Application.CutCopyMode = False
Dim lngPunkt As Long
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
.ApplyDataLabels
For lngPunkt = 1 To .Points.Count
.Points(lngPunkt).DataLabel.Text = Left(data.Cells(lngPunkt, 1), 1) & " " & Mid(data.Cells(lngPunkt, 2), 1, 1)
Next lngPunkt
End With
End Sub
Ist es möglich entweder die Anzeige ganz auszublenden oder diese sogar so abzuändern, dass bspw. der komplette Name angezeigt wird?