我先在Sheet1上建一张Chart,然后输出Chart.Name为: Sheet1 图表 1 然后我用For Each chrt In ChartObjects 和 Sheet1.Shapes 输出名字均为:Chart 1 问题1:为什么我对同样的Chart对象输出的名字不一样?分别为:Sheet1 图表 1 和 Chart 1 问题2:我用我用For Each chrt In ChartObjects 和 Sheet1.Shapes 均可输出chrt.Name. Chart 属于ChartObject 这一点毫无疑问。问题是Chart 也属于 Shapes 对象吗? 那ChartObject 和 Shapes 又是什么关系?(并行,还是从属?这个问题把我搞糊涂了。) 问题3:我再用宏录制记录了一个Acitvate这个Chart的宏,代码如下: ActiveSheet.ChartObjects("图表 1").Activate 问题再次出现,之前我们使用For Each chrt In ChartObjects 输出的名称为:Chart 1,这里ChartObjects 里面的名字竟然是"图表 1". 到底这些是什么关系?希望高手解惑之!谢谢。 '所有代码如下: Sub Macro1() Dim chrt As Variant Charts.Add ActiveChart.ChartType = xlXYScatterSmooth ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" MsgBox ActiveChart.Name '输出结果为: Sheet1 图表 1 For Each chrt In Sheet1.ChartObjects MsgBox chrt.Name '输出结果为: Chart 1 Next For Each chrt In Sheet1.Shapes MsgBox chrt.Name '输出结果为: Chart 1 Next End Sub Sub Macro2()
ActiveSheet.ChartObjects("图表 1").Activate End Sub
[此贴子已经被作者于2008-10-15 10:44:24编辑过] |