Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Diagramme DataLabels hinzufügen crasht Excel


Betrifft: Diagramme DataLabels hinzufügen crasht Excel von: Michael Ei
Geschrieben am: 12.06.2018 11:55:52

Hallo zusammen,

immer wenn ich diesen Code ein zweites mal anwende (wenn die Charts bereits mit Datalabels versehen sind) crasht Excel sofort.

Error Handler hat keinen Effekt.
If Anweisung zur Prüfung ob Beschriftungen schon vorhanden (.Haslabels) hat keinen Effekt
Obligatorisch alle Beschriftungen löschen per VBA vor dem erneuten hinzufügen hat auch keinen Effekt.

Was ist hier nur los mit meinem Excel (2016 auf Win10)? Das ist nicht normal )-:

Hoffe jemand hat die zündende Idee. Schon mal vielen Dank an alle für die Hilfe.

Hier der Code


Sub RefreshAll()

Dim ActiveChartObject As ChartObject
Dim ActiveSeries As Series

For Each ActiveChartObject In ActiveSheet.ChartObjects
    For Each ActiveSeries In ActiveChartObject.Chart.FullSeriesCollection
        ActiveSeries.ApplyDataLabels
    Next
Next

End Sub
Beste Grüße,
Michael

  

Betrifft: AW: Diagramme DataLabels hinzufügen crasht Excel von: Michael Ei
Geschrieben am: 12.06.2018 12:04:21

Nachtrag:

Das einzige was ich bisher finden konnte, dass das crashen verhindert ist nach der ersten Anwendung des Macros zu speichern, Excel neuzustarten und das Macro wieder durchzuführen. Wenn ich es dann ein zweites mal durchführe crasht es aber wieder )-:


  

Betrifft: AW: Diagramme DataLabels hinzufügen crasht Excel von: Rudi Maintaire
Geschrieben am: 12.06.2018 12:25:58

Hallo,
dann frag doch ab, ob schon welche da sind.
If not ActiveSeries.hasdatalabels then ActiveSeries.ApplyDataLabels

Gruß
Rudi


  

Betrifft: AW: Diagramme DataLabels hinzufügen crasht Excel von: Michael Ei
Geschrieben am: 12.06.2018 12:58:31

Hallo Rudi,

das scheint geholfen zuhaben. Vielen Dank.


  

Betrifft: AW: Diagramme DataLabels hinzufügen crasht Excel von: Michael Ei
Geschrieben am: 12.06.2018 12:26:03

Nachtrag2:

So noch etwas herausgefunden jetzt wird es etwas komplexer. Der Code zum einfügen der Datenlabels stand ursprünglich in einem Macro was auch das Einfärben der Balken des Balkencharts um das es hier geht gesteuert hat (man sieht es im Macro RefreshAll ganz unten habe ich .ApplyDatalabels mit ' ausgeklammert).

Den Code für .ApplyDatalabels habe ich in ein extra Macro test() gepackt welches auch durch alle .FullSeriesCollection loopt.

Starte ich Excel kann ich jetzt RefreshAll() so oft ich will nutzen (Excel crasht nicht). Nutze ich jedoch einmal test() dann crasht RefreshAll() bei der nächsten Benutzung.

Sub RefreshAll()

Dim LoChartType As Long
Dim StSeriesName As String
Dim ActiveChartObject As ChartObject
Dim ActiveSeries As Series
Dim Farbe As Long
Dim Rot As Long
Dim Gruen As Long
Dim Blau As Long

ActiveWorkbook.RefreshAll

For Each ActiveChartObject In ActiveSheet.ChartObjects
    For Each ActiveSeries In ActiveChartObject.Chart.FullSeriesCollection

        StSeriesName = ActiveSeries.Name

        Select Case StSeriesName
        
        Case "1 done"
        Farbe = ActiveSheet.Range("T7").Interior.Color

        Case "2 on hold"
        Farbe = ActiveSheet.Range("T9").Interior.Color

        Case "3 in progress"
        Farbe = ActiveSheet.Range("T8").Interior.Color
        
        Case "4 overdue"
        Farbe = ActiveSheet.Range("T10").Interior.Color

        End Select

Rot = Farbe Mod 256
Farbe = (Farbe - Rot) / 256
Gruen = Farbe Mod 256
Farbe = (Farbe - Gruen) / 256
Blau = Farbe Mod 256


ActiveSeries.Format.Fill.ForeColor.RGB = RGB(Rot, Gruen, Blau)
'ActiveSeries.ApplyDataLabels

    Next
Next
End Sub
Sub test()


Dim ActiveChartObject As ChartObject
Dim ActiveSeries As Series

For Each ActiveChartObject In ActiveSheet.ChartObjects
    For Each ActiveSeries In ActiveChartObject.Chart.FullSeriesCollection


ActiveSeries.ApplyDataLabels

Next
Next

End Sub



Beiträge aus den Excel-Beispielen zum Thema "Diagramme DataLabels hinzufügen crasht Excel"