你可以遍历图表对象,以显示或隐藏所有的人,以节省时间和打字:
Option Explicit
Sub HideAllChartsInSheet1()
Dim oChartObject As ChartObject
For Each oChartObject In Sheet1.ChartObjects
oChartObject.Visible = False
Next
Set oChartObject = Nothing
End Sub
将Sheet1
替换为您的实际Worksheet对象的引用,当然使用oChartObject.Visible = True
来显示ChartObjects。
EDIT: 让我们改变子修改特定图表对象:
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
实施例:使用以下方法来隐藏 “图4” Sheet 1上:
Call ChartVisible("Chart 4", False)
我得到一个“对象变量或块变量未设置”错误messgae – Niva
您是否在运行代码之前激活了图表? –
yup!我确实通过点击来激活它 – Niva