Ich habe ein dynamisches Diagramm, das für stündliche Daten basierend auf einem Zellenwert aktualisiert wird. Diese Zelle wird über eine Bildlaufschaltfläche gesteuert, oder Sie geben das Datum manuell in einer anderen Zelle ein. Werfen Sie einen Blick auf das gif unten für einen Einblick;Aktualisieren eines dynamischen Diagramms beim Ausführen eines Makros - Animiertes Diagramm in Excel
Was ich tun möchte, ist das Diagramm zu aktualisieren VBA es wie eine Animation zu machen. Lassen Sie uns diesen (Pseudo-) Code unten haben;
Option Explicit
#If VBA7 And Win64 Then
'64 bit Excel
Public Declare PtrSafe Sub Sleep Lib "kernel32" (_
ByVal dwMilliseconds As Long)
#Else
'32 bit Excel
Public Declare Sub Sleep Lib "kernel32" (_
ByVal dwMilliseconds As Long)
#End If
Sub Animate()
On Error GoTo Error ErrorHandler
Dim wsh As Worksheet
Dim i As Integer
Set wsh = ThisWorkbook.Worksheets("AChart")
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
For i = 1 to 3000
Sleep 50
wsh.Range("K4").Value = i
DoEvents
Application.Wait Now() + TimeSerial(0, 0, 1)
Next i
Exit Sub
ErrorHandler:
MsgBox Err.Description & " Procedure Animated Graph"
End Sub
Diese (insbesondere DoEvents
) machen nicht die Grafik-Update auf dem Bildschirm. Ich wollte wissen, ob es einen Weg gibt, dies zu implementieren.
Ihre beste Wette wäre 'Application.Otime'. "Sleep" und andere Sachen funktionieren nicht gut, weil VBA noch läuft, so dass es die Excel-Anwendung stört. Versuchen Sie 'Ontime' und sagen Sie uns, Sie wissen, wie man es benutzt;) –
@ A.S.H Es hat funktioniert. Vielen Dank. – Masoud