• ベストアンサー

シート上のオートシェイプをすべて非表示にしたい

マクロで ActiveSheet.Shapes.Visible = False と作って見ましたが、だめでした。 シート上のオートシェイプをすべて非表示にしたい時は、マクロではどのようにすれば良いでしょうか? よろしくお願い致します。 Excel2002 WINXP

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >ActiveSheet.Shapes.Visible = False Shapes というのは、Shapes というオブジェクトで、Visible プロパティを持っていません。以下のように、それぞれのオートシェイプをピックアップして、ループで非表示にしていきます。 Sub AutoShapesInvisible() '全てのオートシェイプを非表示にするマクロ Dim shp As Shape  For Each shp In ActiveSheet.Shapes  If shp.Type = msoAutoShape Then   shp.Visible = msoFalse  End If  Next End Sub

omusupa
質問者

お礼

ありがとうございます。 Shape という、型があることも知りませんでした。 大変わかりやすい説明ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

以下のマクロは如何でしょうか。(因みにexcel2000) Sub Macro1() ActiveSheet.DrawingObjects.Select Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Line.Visible = msoFalse End Sub

omusupa
質問者

お礼

ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A