显示和隐藏活动图表
我有这个代码,允许图表显示和隐藏,但是我有太多的图表和硬编码每个将是一个很大的麻烦。 因此,是否可以隐藏和显示基于活动图表的图表?
我有这个代码,我尝试将Chartobjects("Chart4")
replace为ActiveChart
但它说对象不支持该属性。 任何替代方法,使这种情况发生或有什么毛病我的代码? 先谢谢你!
Sub ActiveChartShowHide() With Sheets("Sheet4").ChartObjects("Chart 4") .Visible = Not .Visible End With End Sub
ActiveChart引用Chart对象的成员Chart对象。 你的代码应该是:
With ActiveChart.Parent .Visible = Not .Visible End With
您可以遍历图表对象来显示或隐藏所有这些对象,以节省时间和input:
Option Explicit Sub HideAllChartsInSheet1() Dim oChartObject As ChartObject For Each oChartObject In Sheet1.ChartObjects oChartObject.Visible = False Next Set oChartObject = Nothing End Sub
将Sheet1
replace为对实际Worksheet对象的引用,当然使用oChartObject.Visible = True
来显示ChartObjects。
编辑 :让我们改变子来修改特定的图表对象:
Option Explicit Sub ChartVisible(psName As String, pbVisible As Boolean) Dim oChartObject As ChartObject For Each oChartObject In Sheet1.ChartObjects If UCase(oChartObject.Name) = UCase(psName) Then oChartObject.Visible = pbVisible End If Next Set oChartObject = Nothing End Sub
示例:使用以下来隐藏Sheet1上的“图表4”:
Call ChartVisible("Chart 4", False)
您可以select您的图表,然后隐藏它:
ActiveSheet.ChartObjects("Chart 1").Activate Selection.Visible = false