nochEinAndreas
Stammgast
Hallo Excel-Freaks,
ein Makro macht Änderungen an einem Diagramm. Diese Änderungen werden aber immer erst sichtbar, wenn der Makro zuende gelaufen ist.
ich habe hier ein kleines Beispiel angehängt. Der Code in der Mappe sieht so aus:
Wenn ihr im Diagramm auf den Button klickt, läuft der Makro los. Die erste Zeile färbt den Plotbereich rot. Die zweite Zeile sorgt für eine Pause von 3 sec. Während dieser Pause passiert gar nichts. Erst wenn der Makro fertig ist, wird das Diagramm rot.
Ich hätte aber gerne, dass Änderungen, die der Makro im Diagramm ausführt, sofort angezeigt werden. Geht das irgendwie?
Im Netz gibt's diverse Tips mit
Application.ScreenUpdate = True
oder
DoEvents
oder
Chart.Refresh
Alles ausprobiert. Hilft nix. Das Diagramm ändert sich erst, wenn der Makro fertig ist.
Es ist auch völlig egal, welches Diagramm-Element man ändert. Es erscheint immer erst am Schluss.
Interessant ist auch: Wenn man per Makro die Werte für die Kurve in den Zellen ändert, werde die neuen Werte in der Tabelle sofort angezeigt. Die Kurve ändert sich aber auch wieder erst am Ende.
Wissende vor!
Danke und Gruß,
Andreas
ein Makro macht Änderungen an einem Diagramm. Diese Änderungen werden aber immer erst sichtbar, wenn der Makro zuende gelaufen ist.
ich habe hier ein kleines Beispiel angehängt. Der Code in der Mappe sieht so aus:
Code:
Option Explicit
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub färben()
' Hier wird die Zeichnungsfläche rot gefärbt:
ActiveSheet.ChartObjects(1).Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
' Hier wird 3 sec gewartet:
Sleep 3000
' Erst wenn der Makro hier zu ende ist, wird das Diagramm rot.
End Sub
Wenn ihr im Diagramm auf den Button klickt, läuft der Makro los. Die erste Zeile färbt den Plotbereich rot. Die zweite Zeile sorgt für eine Pause von 3 sec. Während dieser Pause passiert gar nichts. Erst wenn der Makro fertig ist, wird das Diagramm rot.
Ich hätte aber gerne, dass Änderungen, die der Makro im Diagramm ausführt, sofort angezeigt werden. Geht das irgendwie?
Im Netz gibt's diverse Tips mit
Application.ScreenUpdate = True
oder
DoEvents
oder
Chart.Refresh
Alles ausprobiert. Hilft nix. Das Diagramm ändert sich erst, wenn der Makro fertig ist.
Es ist auch völlig egal, welches Diagramm-Element man ändert. Es erscheint immer erst am Schluss.
Interessant ist auch: Wenn man per Makro die Werte für die Kurve in den Zellen ändert, werde die neuen Werte in der Tabelle sofort angezeigt. Die Kurve ändert sich aber auch wieder erst am Ende.
Wissende vor!
Danke und Gruß,
Andreas