2016-11-08 112 views
0

我试图在网上找到解决方案,但没有一个适用于我的情况。如何在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也不起作用。

+0

尝试的代码在我的回答如下 –

回答

0

您需要修改ParentChartObject)才能隐藏整个图表。因此,而不是你的行:

cht.Visible = xlSheetVeryHidden 

修改于:

cht.Parent.Visible = False 
+0

它的工作!非常感谢! – Zarif