【发布时间】:2020-08-01 06:46:55
【问题描述】:
我编写了一个代码,它使用数组更新 vba 中的散点图。我的目标是在 excel 之外的 vba 中做所有事情。我确实通过单击一个按钮从 excel 启动程序。我能够以给定的时间间隔更改和更新图表。但是我看不到图表的演变,即在 VBA 脚本完成之前我看不到图表。如何在程序运行时使图表保持活跃。我的最终目标是每 15 秒从网站上抓取一次数据,进行一些计算并在图表中显示它是如何演变的。
Sub test3()
Dim C As Chart
Dim s As Series
Dim myData, A, B, D As Variant
ReDim A(50, 1), B(50, 1), D(50, 1)
Set C = ActiveSheet.Shapes.AddChart.Chart
With C
Set s = C.SeriesCollection.NewSeries
Set v = C.SeriesCollection.NewSeries
C.ChartType = xlXYScatterLines
End With
x = Timer()
xxx = x
While xx - x < 30
xx = Timer()
If xx - xxx > 2 Then
i = i + 1
A(i, 1) = 0.6 * i
B(i, 1) = xx - x
D(i, 1) = i ^ 0.5
myData = A '
myData1 = B '
myData2 = D
With C
Set s = C.SeriesCollection(1)
s.XValues = myData1
s.Values = myData
Set v = C.SeriesCollection(2)
v.XValues = myData1
v.Values = myData2
End With
xxx = Timer()
End If
Wend
End Sub
【问题讨论】:
-
最好使用
DoEvents,但如果不共享代码,就无法收到告诉您在哪里的答案... -
我已经粘贴了代码。对不起,如果你觉得它很业余,但我就是这样。
-
我没有看到任何代码...您是否编辑了您的问题并添加了代码?您可能忘记保存更改...
-
对不起,我是这个网站的新手。我将回到我的问题并粘贴代码。我应该补充一点,通过将数据保存在 Excel 工作表中,我已经完成了很好的动画图形。但我只是想更进一步。
-
没问题。有时每个人都是新的......
标签: arrays excel vba charts jquery-animate