プロが教える店舗&オフィスのセキュリティ対策術

マクロで
ActiveSheet.Shapes.Visible = False
と作って見ましたが、だめでした。

シート上のオートシェイプをすべて非表示にしたい時は、マクロではどのようにすれば良いでしょうか?
よろしくお願い致します。
Excel2002 WINXP

A 回答 (2件)

以下のマクロは如何でしょうか。

(因みにexcel2000)
Sub Macro1()
ActiveSheet.DrawingObjects.Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Line.Visible = msoFalse
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2005/11/17 19:02

こんばんは。



>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
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/11/22 13:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!