获取所选图表所在的工作表名称

问题描述

遍历本书中的所有图表时-如何获得图表所在的工作表的名称

我在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

将为您提供包含活动图表的工作表。

当然,如果您有ActiveChartActiveSheet还会为您提供一个活动工作表,其中包含活动图表。