2017-07-13 26 views
1

läuft Ich versuche, visuell zu sehen, was passiert mit einem Satz von Daten in Excel jedes Mal, wenn ich eine Steuervariable erhöht um 1.Aktualisieren eines Diagramms während VBA

Die Daten in einem Diagramm und den Schritten visualisiert werden über eine For-Next-Schleife auf einer ganzen Zahl n getan.

Jedes Mal, wenn ich n inkrementiere, werden die Werte in einer Tabelle aktualisiert und das Diagramm sollte ebenfalls aktualisiert werden. Außer es nicht. Die Tabelle wird aktualisiert, aber das Diagramm wartet bis zum Ende der Routine und zeigt nur die Position für den letzten Wert von n an.

Ich habe einen Wartebefehl eingegeben, versuchte Charts ("Chart 1"). Aktualisieren etc, aber das Diagramm wird nicht aktualisiert (wenn auch die Tabelle Feeding) während der Zwischenschritte des Codes, wie ich möchte es zu. Ich bin auf automatische Berechnung, so dass es nicht das Problem verursacht.

Wie bekomme ich das Diagramm auf die Tabellenwerte zu aktualisieren, während der Code ausgeführt wird. Dies war der Code, sorry.

Sub Walkthrough() 

Dim n As Integer 

For n = 0 To 77 
    Range("L3").Value = n 
    Application.ScreenUpdating = True 
    ActiveChart.Refresh 
    Application.Wait Now + #12:00:01 AM# 
Next n 

End Sub 

Antwort

1

Dies ist, wie es praktikabel zu machen:

im Beispiel
Option Explicit 

Sub Walkthrough() 

    Dim n As Long 

    Application.ScreenUpdating = True 

    For n = 0 To 5 
     Range("a1").Value = n 
     Application.Wait Now + #12:00:01 AM# 
    Next n 

End Sub 

Stellen Sie sicher, dass A1 ist die abhängige Bereich. Standardmäßig ist die Application.ScreenUpdating in Excel auf True festgelegt, daher müssen Sie sie nicht explizit festlegen.

+0

Sub Lösungsweg() Dim n As Integer Für n = 0 bis 77 Range ("L3"). Value = n Application.ScreenUpdating = True ActiveChart.Refresh Application.Wait jetzt + # 12 : 00: 01 AM # Nächste n End Sub – James

+0

@James - es ist eine bessere Idee, Ihren Code in die Frage zu stellen ... Sie können es dort formatieren. – Vityata

+0

Danke, ich bin ein Neuling, das jetzt gemacht !! – James

Verwandte Themen