gibt es die Möglichkeit für alle Charts in einem Workbook
alle leeren DataLabels mittels Makro zu löschen?
Gruß Daniel
Sub prcDiagramm_Datalabels_delete()
Dim wkb As Workbook
Dim wks As Worksheet
Dim objChart As Chart
Dim ChartObject As ChartObject
Set wkb = ActiveWorkbook
'in Diagrammblättern
For Each objChart In wkb.Charts
Call prcDataPoint_Datalabel_delte(objChart)
Next
'in eingebetteten Diagrammen
For Each wks In wkb.Worksheets
For Each ChartObject In wks.ChartObjects
Call prcDataPoint_Datalabel_delte(ChartObject.Chart)
Next
Next
End Sub
Sub prcDataPoint_Datalabel_delte(objChart As Chart)
Dim objSeries As Series
Dim objPoint As Point
For Each objSeries In objChart.SeriesCollection
If objSeries.HasDataLabels Then
objSeries.DataLabels.Delete
End If
For Each objPoint In objSeries.Points
If objPoint.HasDataLabel Then objPoint.DataLabel.Delete
Next
Next
End Sub
Sub prcDiagramm_Datalabels_leer_delete()
Dim wkb As Workbook
Dim wks As Worksheet
Dim objChart As Chart
Dim ChartObject As ChartObject
Set wkb = ActiveWorkbook
'in Diagrammblättern
For Each objChart In wkb.Charts
Call prcPoint_Datalabel_leer_delete(objChart)
Next
'in eingebetteten Diagrammen
For Each wks In wkb.Worksheets
For Each ChartObject In wks.ChartObjects
Call prcPoint_Datalabel_leer_delete(ChartObject.Chart)
Next
Next
End Sub
Sub prcPoint_Datalabel_leer_delete(objChart As Chart)
'leere Datenbeschriftungen löschen
Dim objSeries As Series
Dim objPoint As Point
Dim strText As String
For Each objSeries In objChart.SeriesCollection
For Each objPoint In objSeries.Points
With objPoint
If .HasDataLabel Then
With .DataLabel
strText = Trim(.Text)
If strText = "" Then
.Delete
End If
End With
End If
End With
Next
Next
End Sub