我知道在Excel VBA中使用
例如,使用
为了避免使用
Activate
和Select
并不是最佳实践。我看过有关如何避免处理范围时的参考资料(例如:链接)。当处理ChartObjects
(或一般情况下除了范围之外的任何内容)时,我该如何避免它们?例如,使用
Activate
和Select
来修改y轴上的最大值的方法如下(可以正常工作): ActiveSheet.ChartObjects("MyChart").Activate
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MaximumScale = Range("MaxVal").Value
为了避免使用
Activate
和Select
,我尝试声明变量并与之一起操作,但这并不行: Dim ws As Worksheet
Set ws = Worksheets("Chart")
With ws.ChartObjects("MyChart").Axes(xlValue)
.MaximumScale = Range("MaxVal").Value
End With
上述代码运行正常(即不会报错),但轴上的比例尺没有改变。我错过了什么?
编辑:使用以下“冗长”的版本使其正常工作:
With Worksheets("Chart").ChartObjects("MyChart").Chart.Axes(xlValue)
.MaximumScale = Range("MaxVal").Value
End With