问题描述
遍历本书中的所有图表时-如何获得图表所在的工作表的名称?
我在VBA Excel中有以下代码:
Sub mytest()
Dim ws As Worksheet
Dim Ct As ChartObject
Dim Wb As Workbook
Set Wb = ActiveWorkbook
Set ws = Wb.ActiveSheet
For Each Ct In ws.ChartObjects
'MsgBox Ct.Chart.Parent.Name
MsgBox Ct.Chart.Name
MsgBox Ct.Chart.Parent.Name
Next Ct
End Sub
当我尝试此代码时
MsgBox Ct.Chart.Name
我在一个字符串中得到msbBox的工作表名称和图表名称:
“ Sheet3 Chart2”
当我尝试此代码时
MsgBox Ct.Chart.Parent.Name
我得到图表名称:
“图表2”
但是我需要获取此图表所在的 Sheet 的名称 我应该使用图表的什么属性?
解决方法
ActiveChart.Parent.Parent
将为您提供包含活动图表的工作表。
当然,如果您有ActiveChart
,ActiveSheet
还会为您提供一个活动工作表,其中包含活动图表。