我正在使用VBA创建一个Excel电子表格图,如下所示:-
Private Sub Chart_Calculate()
Title$ = Range("charttitle")
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScale = 0
.MaximumScale = 300
.MinorUnit = 10
.MajorUnit = 50
.Crosses = xlCustom
.CrossesAt = 0
.ReversePlotOrder = True
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
End Sub
然后我尝试设置系列名称,如下所示:-
ActiveChart.SeriesCollection(1).Name = CStr(some_value) & " Some Text"
当我将这行代码添加到 sub 时,它会导致 Chart_Calculate 函数快速连续多次激活,导致图形闪烁几秒钟然后稳定下来。
有谁知道这是怎么回事,我应该怎么做?
(这是在 Windows XP 上运行的 Excel 2003。
编辑:PortlandRunner的建议在图形重绘期间解决了问题,但如果图形在启动时可见,它仍然存在。另请参阅此内容。
代码开头插入Application.Calculation = xlCalculationManual
,并在代码末尾/附近插入Application.Calculation = xlCalculationAutomatic
。