excel 在VBA运行时更新图表

pgccezyw  于 2023-04-22  发布在  其他
关注(0)|答案(3)|浏览(267)

我试图直观地看到每次将驱动变量递增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
oknwwptz

oknwwptz1#

这是如何使其可行的:

Option Explicit

Sub Walkthrough()

    Dim n As Long

    Application.ScreenUpdating = True

    For n = 0 To 5
        Range("a1").Value = n
        Application.Wait Now + #12:00:01 AM#
    Next n

End Sub

确保A1是示例中的依赖范围。默认情况下,Application.ScreenUpdating在Excel中设置为True,因此您不需要显式设置它。

wbgh16ku

wbgh16ku2#

我通过激活ActiveSheet中的chartObjects成功了。但是,我不是100%确定DoEvents调用。过程完成后,Excels选择行为有点奇怪。可能是因为ChartObject仍然被激活。因此,我最终激活了ActiveSheet

Option Explicit

Sub Walkthrough()

        Dim myChart As ChartObject
        
        For Each myChart In ActiveSheet.ChartObjects
            myChart.Activate
            DoEvents
        Next

        ActiveSheet.Activate
        DoEvents

End Sub
kh212irz

kh212irz3#

我知道这个问题已经很老了,但是我最近也遇到了同样的问题。
似乎有一些变化,在排序的'工作表图表'更新和VBA执行的新版本的Excel。我已经创建了一个梯度体面的实现,以帮助可视化收敛的预测模型的迭代(动画)。我得到了它的工作,因为打算在个人电脑上对我父母的房子(Excel 2010)。但当尝试在PC上相同的文件回家(Excel 2019),图表仅在从VBA完成所有迭代后更新。即,它只是从使用初始参数值的图跳转到基于最终参数值的图。显然尝试了应用程序。等待方法,我认为(一开始)这只是在更快的PC上减速的问题,但并没有解决这个问题。
我想这也是最初的提问者所经历的。但考虑到这个问题是5年以上,他可能找到了使用其他工具而不是Excel的方法。

相关问题