我试图直观地看到每次将驱动变量递增1时Excel中的一组数据会发生什么。
数据在图表中可视化,增量通过整数n上的for-next循环完成。
每次我增加n,表中的值都会更新,图表也应该更新。除非它没有。表更新,但图表等待例程结束,并只显示最后一个n值的位置。
我已经把一个等待命令,尝试图表(“图表1”)。刷新等,但图表不会更新(尽管表饲料它)在中间步骤的代码,因为我想它。我在自动计算,所以它不是这造成的问题。
如何在代码运行时将图表更新为表值。这是代码抱歉。
Sub Walkthrough()
Dim n As Integer
For n = 0 To 77
Range("L3").Value = n
Application.ScreenUpdating = True
ActiveChart.Refresh
Application.Wait Now + #12:00:01 AM#
Next n
End Sub
3条答案
按热度按时间oknwwptz1#
这是如何使其可行的:
确保
A1
是示例中的依赖范围。默认情况下,Application.ScreenUpdating
在Excel中设置为True
,因此您不需要显式设置它。wbgh16ku2#
我通过激活
ActiveSheet
中的chartObjects成功了。但是,我不是100%确定DoEvents
调用。过程完成后,Excels选择行为有点奇怪。可能是因为ChartObject
仍然被激活。因此,我最终激活了ActiveSheet
。kh212irz3#
我知道这个问题已经很老了,但是我最近也遇到了同样的问题。
似乎有一些变化,在排序的'工作表图表'更新和VBA执行的新版本的Excel。我已经创建了一个梯度体面的实现,以帮助可视化收敛的预测模型的迭代(动画)。我得到了它的工作,因为打算在个人电脑上对我父母的房子(Excel 2010)。但当尝试在PC上相同的文件回家(Excel 2019),图表仅在从VBA完成所有迭代后更新。即,它只是从使用初始参数值的图跳转到基于最终参数值的图。显然尝试了应用程序。等待方法,我认为(一开始)这只是在更快的PC上减速的问题,但并没有解决这个问题。
我想这也是最初的提问者所经历的。但考虑到这个问题是5年以上,他可能找到了使用其他工具而不是Excel的方法。