「excel2010 サンプルがほしい selection.shaperange.fill.forecolor.rgb」
という検索キーワードが、このサイト・インストラクターのネタ帳のアクセスログにありましたので、
そんなExcelマクロを作ってみました。
選択されている図形の、塗りつぶし色を
変更するExcelマクロです。
選択されている図形の塗りつぶし色を変更するサンプル
図形を選択しておいて以下の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で選択図形の塗りつぶし色を変更する