Aktualisierung Diagramm ...(?)

Bild

Betrifft: Aktualisierung Diagramm ...(?)
von: Kulo
Geschrieben am: 17.08.2015 21:57:39

Hallo,
ich habe mir ein Kreisdiagramm auf einem eigenen Diagrammblatt gebastelt, welches sieben Werte aus einer bestimmten Spalte eines Tabellenblattes in Abhängigkeit eines Wertes in einer bestimmten Zelle anzeigt.
Diese bestimmte Zelle kann ich mit einem Drehfeld auf dem Diagrammblatt beeinflussen. Dadurch wird praktisch die Spalte um eins nach links oder rechts verschoben. Wenn ich das Drehfeld bediene, sehe ich auf dem Diagramm sofort die Änderung.
Klicke ich schnell genug, könnte man meinen, dass Diagramm läuft wie ein Film ab.
Meine Idee war jetzt, den Wert der Zelle, auf welche das Drehfeld verweist, mit einem VBA-Script mittels einer Zählschleife automatisch zu ändern.
Ihr wisst schon, worauf ich hinaus will:
Starte ich das Makro, läuft die Zählung durch und wenn die Zählung den letzten Wert in die Zelle vom Drehfeld geschrieben hat, aktualisiert sich das Diagramm.
Wie kann ich erreichen, dass Excel bei jedem einzelnen Wert in der Zählschleife wartet, bis sich das Diagramm aktualisiert hat und erst dann den nächste Wert in die Zelle schreibt.
Vielleicht hat ja jemand einen Tipp.
Danke schon mal im Voraus und
VG
Kulo

Bild

Betrifft: DoEvents owT
von: AlexG
Geschrieben am: 18.08.2015 04:24:17


Bild

Betrifft: AW: Aktualisierung Diagramm ...(?)
von: Beverly
Geschrieben am: 18.08.2015 08:29:33
Hi Kulo,
versuche es mal mit .Chart.Refresh




Bild

Betrifft: AW: Aktualisierung Diagramm ...(?)
von: Kulo
Geschrieben am: 18.08.2015 11:44:33
Hallo Karin, hallo AlexG,
vielen Dank für Eure Hilfe.
Ich hab mir mit Eurer Hilfe folgenden Code gebastelt:

Sub Spin_3D()
'Ablauf Simulation
'Festlegen der Variablen
Dim i As Integer
Dim k As Integer
'Startwert der Simulation aus Tabelle holen
    k = Worksheets("DatenK").Range("R131")
    
'Schleife vom Startwert + 1 bis 294
        For i = k + 1 To 294
            
            Worksheets("DatenK").Range("F151") = i
            'ActiveChart.Refresh ' --> hier sehe ich nur im Einzelschritt 
                                 '     den Vortschritt im Diagramm
            DoEvents
        Next i
End Sub
Mit ActiveChart.Refresh sehe ich nur im Einzelschritt eine Veränderung am Diagramm. Mit DoEvents ist eine fortlaufende Darstellung bei Ablauf des Codes sichtbar.
Gibt es bei ActiveChart.Refresh eventuell noch einen Schalter, der das geänderte Diagramm nach jedem Einzelschritt auf dem Bildschirm aktualisiert?
DoEvents scheint irgendwie nicht ganz so "beliebt" zu sein. Ist die Anwendung in meinem Beispiel korrekt oder muss ich DoEvents irgendwie wieder ausschalten?
Auf alle Fälle sehe ich mit obigem Code wie sich mein Kreisdiagramm Schritt für Schritt mit neuen Daten darstellt. Man könnte sagen, es ist wie im Film. ;-)
Ich würde mich freuen, wenn Ihr mir kurz noch ein Feedback zu meinem Code geben könntet.
Auf jeden Fall jetzt schon mal ein grosses Dankeschön. ;-)
VG und einen schönen Tag
Kulo

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Aktualisierung Diagramm ...(?)"