Hallo Supporter,
ich habe ein Makro, welches mir in Excel in einem Diagramm folgende Dinge erfüllt:
1. + 2. Es wird der erste + letzte Wert und der Name einer Datenreihe angezeigt
3. Diese Datenreihe wird speziell formatiert.
Wie kann ich diesen VBA Code zusammenfassen? Ich habe insg. 9 Datenreihen (im Beispiel nur 2) - es dauert sehr lange dauert, wenn ich die Daten aktualisiere.
Wir Ihr sehen könnt, ändert sich bei meinen VBA Code nur die "SeriesCollection"
Dem besseren Verstädnis halber habe ich eine Datei beigefügt:
http://www.file-upload.net/download-6778431/VBA.xls.html
Viele Grüße
Stefan
Sub Aktualisieren()
Dim chDiagramm As Chart
Dim inPunkt As Integer
' Wert_1_Ende
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(1)
.ApplyDataLabels ShowSeriesName:=True, ShowValue:=True
For inPunkt = 1 To .Points.Count - 1
.Points(inPunkt).DataLabel.Text = ""
Next inPunkt
End With
' Wert_1_Anfang
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(1)
.ApplyDataLabels ShowSeriesName:=True
For inPunkt = 2 To .Points.Count - 1
.Points(inPunkt).DataLabel.Text = ""
Next inPunkt
End With
' Wert_1_Ende_Formatierung
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.AutoScaleFont = True
With Selection.Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 8
.ColorIndex = 3
End With
' Wert_2_Ende
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(2)
.ApplyDataLabels ShowSeriesName:=True, ShowValue:=True
For inPunkt = 1 To .Points.Count - 1
.Points(inPunkt).DataLabel.Text = ""
Next inPunkt
End With
' Wert_2_Anfang
Set chDiagramm = ActiveSheet.ChartObjects(1).Chart
With chDiagramm.SeriesCollection(2)
.ApplyDataLabels ShowSeriesName:=True
For inPunkt = 2 To .Points.Count - 1
.Points(inPunkt).DataLabel.Text = ""
Next inPunkt
End With
' Wert_2_Ende_Formatierung
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.AutoScaleFont = True
With Selection.Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 8
.ColorIndex = 3
End With
End Sub