Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » Selection.ShapeRange.Fillとは

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2109 ビルド14430.20306 Microsoft Store)

「Selection.ShapeRange.Fill」
「With Selection.ShapeRange.Fill」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。

Excel VBAで選択されている図形に対して、塗りつぶしの設定を行う際に使用するコードの意味を調べていた方による検索でしょうか。

Selection.ShapeRange.Fillは選択図形の塗りつぶし設定で使用

「Selection.ShapeRange.Fill」は、選択されている図形の塗りつぶしを設定する際に使用するコードです。

[スポンサードリンク]

コード「Selection.ShapeRange.Fill」を実行すると、選択されている図形の塗りつぶし書式を表すFillFormatオブジェクトを取得できます。

Selection.ShapeRange.Fillのサンプル

例えば、塗りつぶしの設定されている四角形や楕円を選択しておいてから、

Selection.ShapeRange.Fill.Visible = msoFalse

を実行すると、選択されていた図形が塗りつぶしなしの状態に設定されます。
また、

Selection.ShapeRange.Fill.Transparency = 0.8

を実行した場合には、選択されている図形の塗りつぶしの透過度が80%になります。

Selection.ShapeRange.Fillの読解

拙著『いちばんやさしいExcel VBAの教本』の、「Lesson 52 プロパティは2種類あることを知っておきましょう」で、プロパティには、

  • 単なるデータを習得するためのプロパティ
  • オブジェクトを取得するためのプロパティ

の2種類があることを、お伝えしています。「Selection.ShapeRange.Fill」で使われている3つのプロパティは、いずれもオブジェクトを取得するためのプロパティです。

コード「Selection.ShapeRange.Fill」で使われている各プロパティが、具体的にどのようなオブジェクトを取得するプロパティなのか、読解しておきましょう。

Selectionプロパティ

最初の「Selection」は、Excel上で選択されている操作対象を取得するためのプロパティです。オブジェクトブラウザー詳細ペインに「As Object」と表示されているとおり、何が選択されているのかによって取得できるオブジェクトが変化します。

図形が選択されている状態では、Rectangle・Oval・DrawingObjectsといったオブジェクトを取得できます。

ShapeRangeプロパティ

「Selection」につづく、「.ShapeRange」は、これらRectangle・Oval・DrawingObjectsといったオブジェクトに用意されているShapeRangeプロパティで、戻り値はプロパティ名と同じくShapeRangeオブジェクトです。

Fillプロパティ

「Selection.ShapeRange」につづく、「.Fill」は、ShapeRangeオブジェクトに用意されているFillプロパティです。

ShapeRange.Fillプロパティの戻り値はFillFormatで、プロパティと返されるオブジェクトの名前が微妙に異なる点には注意が必要でしょうか。

最終更新日時:2021-12-09 05:40

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » Selection.ShapeRange.Fillとは

「DrawingObjects」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.