EXCELで図を塗りつぶすとき、PowerPointなどの「スポイト」ツールがないため、「FE-Color Pallet」などを使って目的の色を調べる。
色のRGBをメモっておいて塗りつぶし色を指定していた。
今回、スポイトした色を「FE-Color Pallet」の「コピー」でクリップボードにコピーし、EXCELで選択した図を塗りつぶすためのマクロを制作したので紹介する。
- 「FE-Color Pallet」の「画面の色」を使って
- スポイトを目的の色に合わせる
- スポイト中の色が表示される
- 「FE-Color Pallet」の「コピー」を押す

- EXCELで対象の図を選択する
- マクロを実行
- 図が塗りつぶされる

マクロは次の通り。
コマンドボタンにこのマクロを登録する。
'******** スポイトした色で塗りつぶし ********
Sub FillSpoitColor()
Dim bufa As String, bufb As String, CB As New DataObject
Dim R As Long, G As Long, B As Long, rgbary
With CB
.GetFromClipboard 'クリップボードからDataObjectにデータを取得
bufa = .GetText 'DataObjectのデータを格納
End With
bufb = Mid(bufa, 5, Len(bufa) - 1)
bufb = Left(bufb, Len(bufb) - 1)
rgbary = Split(bufb, ",")
R = Val(rgbary(0))
G = Val(rgbary(1))
B = Val(rgbary(2))
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(R, G, B)
Selection.ShapeRange.Fill.Solid
End Sub




