Excel:将图表引用为ChartObjects&图表与形状

时间:2015-06-19 14:15:01

标签: excel vba excel-vba charts

我遇到了一个墙,设置了图表辅助轴的最小和最大尺度属性 - 保持得到一个"对象没有这个属性"错误。我修好了,但我想知道怎么做。

经过几个小时的谷歌搜索和尝试不同的选项(三。三个愚蠢的小时),我随意决定通过Shapes集合而不是ChartObjects集合引用图表,这是有效的。

所以,好的:

ActiveSheet.Shapes(1).Chart.Axes(xlValue,xlSecondary).MinimumScale = cMin

和坏:

ActiveSheet.ChartObjects(1).Chart.Axes(xlValue,xlSecondary).MinimumScale = cMin

但我 能够设置其他属性。例如,以下代码行有效:

ActiveSheet.ChartObjects(1).Chart.Axes(xlValue,xlSecondary).AxisTitle.Text = "Current (A)"

从MSDN文档中,形状(1) ChartObjects(1)都返回图表对象,但我无法'当我通过ChartObjects集合访问图表时访问所有属性。也就是说,当我将图表设置为

时,我能够在Axes方法中设置所有属性
Dim cht as Chart
Set cht = ActiveSheet.Shapes(1).Chart

但如果我将图表设置为

则不会
Dim cht as Chart
Set cht = ActiveSheet.ChartObjects(1).Chart

所以我的问题是,为什么会出现这种差异?这是VBA语法的一些隐藏的细微差别,还是更可能是我的机器的一小部分?

Windows 7框上的Excel 2013

0 个答案:

没有答案