Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

[Bug?] Macro crasht Exel wenn ich in Diagramm Datenlabel hinzufüge
#1
Hallo zusammen,

habe ein sehr merkwürdiges Problem mit Excel. :20:

Ich habe zwei Pivotdiagramme auf einem Tabellenblatt welche ich durchloope um je nach Kategorienbezeichnung der Serien eine Farbe zuzuweisen. Eigentlich sehr simpel.

Nun crasht aber Excel komplett und zwar immer nur wenn ich einer vollen Serie (z.B. allen grünen Balken der Kategorie "done") die Datenbeschriftung hinzufüge (egal ob dies per Rechtsklick oder per Excel Makro geschieht).

Wenn alle Datenbeschriftungen bereits vorhanden sind (oder ich speichere und Excel neustarte nach dem hinzufügen der Datenbeschriftung) passiert nichts und ich kann das Macro so oft wie möglich laufen lassen.

Ist recht viel Code weil ich einige Cases noch mit eingebaut habe aber eigentlich sehr simpel. Macro schaut nur ob es sich um ein Donut Chart oder ein Balkenchart handelt und loopt die Serien bzw. Punkte (bei Donutchart) durch um sie gemäß ihrer Namen einzufärben.
Ist eine feine Sache für Pivotcharts die einfach nicht ihre Farben behalten wollen (-;

Hoffe jemand hat eine Idee woran es liegt. Da Excel wirklich instant crasht vermute ich ja dass es sich um einen richtigen Bug handelt. Kann man bei Microsoft eigentlich Bugreports einreichen?

Schonmal danke für jede Hilfe.

Beste Grüße,
Michael


Code:
Sub RefreshAll()

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

ActiveWorkbook.RefreshAll
'Call Protect_Unprotect


For Each ActiveChartObject In ActiveSheet.ChartObjects

   For Each ActiveSeries In ActiveChartObject.Chart.FullSeriesCollection

       LoChartType = ActiveChartObject.Chart.ChartType

       Select Case LoChartType
       
       Case 52
   
           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)


       Case -4120
           
           For LoPointCounter = 1 To ActiveSeries.Points.Count
               
               Set ActivePoint = ActiveSeries.Points(LoPointCounter)
               
                   Select Case ActiveSeries.XValues(LoPointCounter)
                   
                       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
               
               
               ActivePoint.Format.Fill.ForeColor.RGB = RGB(Rot, Gruen, Blau)
               
           Next
           
       End Select
       
   Next
   
Next

'Call Protect_Unprotect

End Sub
Antworten Top
#2
Hallo,

ich denke, es wäre besser, wenn Du eine anonymisierte Beispieldatei hier reinstellen würdest. Denn Nachbauen ist immer umständlich.

Was die Frage zum Bug-Report betrifft - wenn es denn tatsächlich ein reproduzierbarer Bug ist: Ja, Du kannst sowas an MS senden. Dazu gibt's verschiedene Wege:

Erste Möglichkeit ist, unter Datei / Feedback / Mir gefällt etwas nicht gibt's eine Rückmeldung zu geben, auch Bugs. Persönlich empfehlen würde ich hier,
dies in Englisch zu machen, so denn Du Englisch kannst. Ansonsten Deutsch. Entgegen landläufiger Meinung werten die das bei MS auch tatsächlich aus.

Zweite Möglichkeit wäre, so denn Du Excel 2016 verwendest und ggf. die Monatlich gezielte Version von Excel 2016, einen Beitrag im MS Answers Forum
zu posten. Dort geht (leider) nur Englisch. Damit die das nachvollziehen können (die Betreuer dort sind nicht immer die Profis in Excel), würde ich
empfehlen, das möglichst genau zu beschreiben.

Bei den zwei Möglichkeiten ist zu beachten, dass Bugs bei MS priorisiert werden und für ältere Excel-Versionen nicht unbedingt eine Behebung erfolgen
muss. Insofern, sollte es tatsächlich ein Bug sein, eine Garantie, dass es behoben wird, gibt's leider nicht.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • MichaelEi
Antworten Top
#3
Tongue 
Hallo Maninweb,

danke für das Aufzeigen der beiden Möglichkeiten die werde ich sicher in Zukunft nochmal gebrauchen können.

Den Bug konnte ich gestern Abend noch beheben (ja es war wirklich einer) indem ich manuel auf die neuste Excelversion geupgradet habe. Was nun wirklich der Hintergrund war kann ich natürlich leider nicht berichten. Mein Tipp an alle wäre aber immer erstmal das neueste Upgrade aufzuspielen wenn man so eine Problematik hat bevor man wild Threads im Internet öffnet Dodgy 

Beste Grüße,
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste