如何在VBA中隐藏形状/图表?

时间:2016-11-08 10:13:06

标签: excel vba excel-vba

我试图在互联网上找到解决方案,但没有一个能适用于我的情况。

我有以下图表,我想隐藏它,但我不知道如何:

Dim cht As Chart

Sub CreatePie()
    arrColors = Array(RGB(183, 212, 117), _
                      RGB(0, 93, 172))
    Set cht = Sheets("Dashboard").Shapes.AddChart(Left:=600, Width:=160, Top:=290, Height:=90).Chart
    With cht
        .SetSourceData Source:=Sheets("Data").Range("M5:N6")
        .ChartType = xlPie
        .ChartArea.Format.Fill.Solid
        .ChartArea.Format.Fill.Transparency = 1
        .ChartArea.Border.LineStyle = xlNone
    End With
    With cht.SeriesCollection(1)
        .Points(1).Format.Fill.ForeColor.RGB = arrColors(0)
        .Points(2).Format.Fill.ForeColor.RGB = arrColors(1)
    End With
    cht.Visible = xlSheetVeryHidden   
End Sub

cht.Visible = False也不起作用。

删除它也是一种选择,但cht.Delete也不起作用。

1 个答案:

答案 0 :(得分:0)

您需要修改ParentChartObject)才能隐藏整个图表。所以不是你的行:

cht.Visible = xlSheetVeryHidden   

修改为:

cht.Parent.Visible = False