目次
はじめに
今回は、VBAで挿入した図形(オートシェイプ)の塗りつぶしの色を変更する方法について勉強しました。
使用環境は以下のとおりです。
- OS: Windows 10 Pro
- バージョン: 20H2
背景
VBAを使って図形を生成し、その後に塗りつぶしの色を変更したいと考えました。
図形は正しく表示されましたが、色を指定する方法が分からなかったため、
今回改めて調査し、実装方法を確認しました。
結論:「.Fill.ForeColor.RGB = RGB()」を使う
図形の塗りつぶしの色を変更するには、以下のコードを使います。
ActiveSheet.Shapes(1).Fill.ForeColor.RGB = RGB(0, 0, 0)
このコードで、アクティブシート上の最初の図形の塗りつぶし色を黒色に設定しています。
※なお、コメントで「白色」と記載がありましたが、RGB(0, 0, 0)
は黒色です。
白色にしたい場合は RGB(255, 255, 255)
を指定してください。
RGBの設定について
RGB(赤, 緑, 青)
の形式で色を指定します。代表的な色は以下のとおりです。
色名 | コード |
---|---|
黒 | RGB(0, 0, 0) |
白 | RGB(255, 255, 255) |
赤 | RGB(255, 0, 0) |
緑 | RGB(0, 255, 0) |
青 | RGB(0, 0, 255) |
黄色 | RGB(255, 255, 0) |
水色 | RGB(0, 255, 255) |
ピンク | RGB(255, 0, 255) |
グレー | RGB(128, 128, 128) |
応用:図形の名前で指定する方法
図形が複数ある場合や、図形名が分かっている場合は、以下のように名前で指定することも可能です。
ActiveSheet.Shapes("四角形 1").Fill.ForeColor.RGB = RGB(255, 0, 0) '赤に設定
まとめ
- VBAでは、
Shape.Fill.ForeColor.RGB = RGB(赤, 緑, 青)
で図形の塗りつぶし色を変更できる。 - RGBコードでさまざまな色を柔軟に指定可能。
- 図形のインデックスまたは名前を使って特定の図形に色を適用できる。
今回の操作を通じて、図形に関するVBAの操作方法がより明確になりました。
今後は、塗りつぶし以外にも枠線の色や透明度など、よりデザイン性の高い操作にも挑戦していきたいと思います。