Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » VBAで選択図形の塗りつぶし色を変更する

VBAで選択図形の塗りつぶし色を変更する

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel2010 サンプルがほしい selection.shaperange.fill.forecolor.rgb」
という検索キーワードが、このサイト・インストラクターのネタ帳のアクセスログにありましたので、
そんなExcelマクロを作ってみました。

選択されている図形の、塗りつぶし色を

選択図形の塗りつぶし色を変更するExcelマクロ

変更するExcelマクロです。

選択されている図形の塗りつぶし色を変更するサンプル

図形を選択しておいて以下のSubプロシージャを実行すると、選択されていた図形の塗りつぶし色が赤色になります。

Sub 選択図形の塗りつぶし色を変更する()
On Error GoTo ErrHandl

 With Selection.ShapeRange
  .Fill.ForeColor.RGB = RGB(255, 0, 0)
 End With

Exit Sub
ErrHandl:
 MsgBox "図形を選択しておいてから実行してください。"
 Err.Clear
End Sub

サンプルで行っている処理について

「excel2010 サンプルがほしい selection.shaperange.fill.forecolor.rgb」
という検索をなさった方が、躓いていた可能性があるのは、2箇所だろうと想像しています。

一つは選択されているのが、ShapeRangeオブジェクトではなかった場合の処理。

もう一つがColorFormatオブジェクトのRGBプロパティの指定方法です。

Excel VBAでは、Word VBAやPowerPoint VBAとは違って、Selectionオブジェクトは存在せず、Selectionプロパティは選択されている何らかのオブジェクトを返します。

ですから、選択されていたのが図形ではなかった処理を考えざるを得ません。

その解決方法として上記のマクロでは、

On Error GoTo ErrHandl

ErrHandl:
 MsgBox "図形を選択しておいてから実行してください。"
 Err.Clear

というコードで対処しています。

ColorFormatオブジェクトのRGBプロパティを、どう設定すればいいのかで躓いてらしたのであれば、

 With Selection.ShapeRange
  .Fill.ForeColor.RGB = RGB(255, 0, 0)

のとおり、VBAのRGB関数を使ってください。

最終更新日時:2021-12-30 05:45

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » VBAで選択図形の塗りつぶし色を変更する

「DrawingObjects」の記事一覧

検索


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

.