我试图通过在迭代循环中生成其范围来为Excel中的参数曲线设置动画。我正在使用代码:
Public Sub playswirl()
Range([a8], [a8].End(xlDown)).Clear
Set cell = Range("a8")
Do While cell.Offset(0, 1) <> ""
cell.Offset(-1, 0).Copy cell
ActiveSheet.ChartObjects(2).Chart.Refresh
DoEvents
Sleep (50)
Set cell = cell.Offset(1, 0)
Loop
End Sub
在第一条指令中清除了图表,然后在循环中一次重新构建了一项。代码运行时,我看到电子表格中的值一次更改一个,但是图表从未更新(我看到完整的曲线,即执行第一行代码之前的状态)。当我ctrl-break并将代码置于调试状态时,图表将更新到代码被中断的位置。 我以为chart.refresh可以解决问题-并在无效的情况下添加了doevents-但没有运气。将sleep调用更改为Excel本机应用程序。Wait调用也无济于事(无论如何都太慢了)。 有什么想法吗?
答案 0 :(得分:0)
我认为图表可能不是问题;更新系统可能有问题。如果Application.ScreenUpdating = True(默认情况下为True),则可以尝试以下操作:
让我知道这些进展如何。