Excel VBA(マクロ)で図形、線の表示・非表示を切り替える方法/Visibleプロパティの使い方

IT

図形、線の表示・非表示を切り替えるVisibleプロパティの解説です。ShapeオブジェクトまたはShapeRangeコレクションで動作します。

スポンサーリンク

線を非表示・再表示

枠線の表示・非表示
Shapeオブジェクト(またはShapeRangeコレクション).Line.Visible = 真or偽
line visible vba 1
Visibleは通常操作でいうコレで、線の表示/非表示を切り替えることができます。
line visible vba 2
元となる図形はこちら。
' vba
' 「msoFalse」「0」でも同じ意味
ActiveSheet.Shapes.Range(Array(1, 2)).Line.Visible = False
Shapeオブジェクト、ShapeRangeコレクションで取得した図形に対して、Visible = True(表示)かFalse(非表示)を設定することで切り替えることができます。
line visible vba 3
実行結果です。上のふたつの図形の枠線がなくなっていることが確認できます。
値はFalseの代わりにmsoFalse、または数字の0でも同じく非表示の意味になります。
' vba
' 「msoTrue」「1」でも同じ意味
ActiveSheet.Shapes(1).Line.Visible = True
ShapeオブジェクトにVisibleプロパティを設定した例です。
line visible vba 4
実行すると最初の図形だけ枠線が復活していることが確認できます。
値はmsoTrue、数字の1でも同じ意味になります。

図形を非表示・再表示

図形の表示・非表示
Shapeオブジェクト(またはShapeRangeコレクション).Visible = 真or偽
shapes visible1
Visibleプロパティは図形に直接使うと、図形全体を非表示にする、再表示することができます。
' vba
' 「msoFalse」「0」でも同じ意味
ActiveSheet.Shapes(1).Visible = False
コードとしてはこのようになり、
shapes visible2
実行すると図形がまるごと隠されます。VisibleにTrueを指定すれば再表示が可能です。

塗りつぶしを非表示・再表示

背景色・画像等の表示・非表示
Shapeオブジェクト(またはShapeRangeコレクション).Fill.Visible = 真or偽
shapes visible3
予想がついた人もいるかもしれませんが、図形にFillをつけたFillFormatオブジェクトに対してVisibleを指定することで、背景色や画像も非表示(透明)にできます。
' vba
' 「msoFalse」「0」でも同じ意味
ActiveSheet.Shapes(1).Fill.Visible = False
コードとしては、たとえばこのようになります。
Excel(エクセル):表示、非表示
ここでいう表示/非表示とは、Excelで何かを隠す、それを再度表示する、または表示を切り替えるといった意味合いになります。数値を%で表示する、といった表示形式に関しては入力や書式の記事などで扱います。 セルの表示/非表示 セ...
Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。 図形作成・操作...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント