【发布时间】:2020-07-24 10:25:47
【问题描述】:
此代码在 Excel 2013 中完美运行,但不显示实时动画,仅显示代码运行完成后的最终草图。 请解决它。
Public Sub Plot_Line() ' {
Dim sh As Worksheet
Set sh = Worksheets("Line")
Dim firstRow As Integer
Dim lastRow As Integer
Dim firstColumn As Integer
Dim lastColumn As Integer
firstRow = 2
lastRow = firstRow + 302 - 1
firstColumn = 1
Dim rows As Integer
rows = lastRow - firstRow + 1
Dim columns As Integer
columns = lastColumn - firstColumn + 1
Dim dataRange As Range
Set dataRange = Range(Cells(firstRow, firstColumn + 1), Cells(lastRow, firstColumn + 2))
Set ch1 = ActiveSheet.ChartObjects("Chart 1")
ch1.Activate
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
Set ch = ActiveChart
DoEvents
For t = 3 To 302
With Range("C3:C" & t)
.Formula = "=SIN(2*A3)"
Application.Wait (Now + TimeValue("00:00:05"))
DoEvents
End With
Next t
End Sub
'
【问题讨论】:
-
任何一行显示错误?
-
您的 sub 似乎主要由与动画完全无关的代码组成。你有各种各样的任务,什么都不做。例如——
columns = lastColumn - firstColumn + 1的意义何在?为什么不清理它以获得minimal reproducible example?