2
我有一個動態圖表,根據單元格值獲取小時數據的更新。該單元格由滾動按鈕控制或在另一個單元格中手動輸入日期。看看下面的gif來了解一個洞察力;運行宏時更新動態圖表 - 運行Excel中的動畫圖形
我想要做的是更新使用VBA,使它象動畫圖表。下面有這個(僞)代碼;
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
這個(特別是DoEvents
)不會在屏幕上更新圖表。我想知道是否有辦法實現這一點。
你最好的選擇是'Application.Ontime'。 「睡眠」和其他東西不能很好地工作,因爲VBA仍在運行,所以它會干擾Excel應用程序。嘗試'Ontime'並告訴我們,你知道如何使用它;) –
@ A.S.H它工作。謝謝。 – Masoud