
マクロを使ってエクセルファイルを編集したいんだけど、
セルの背景色を変えるにはどうしたらいいの?

なるほど…。
では今回は、「セルの背景色を変えるマクロ(塗りつぶし)の作り方」を
VBAマクロ歴3年の私が、できるだけわかりやすく解説いたします。
セルの背景色を変えるマクロ(塗りつぶし)の作り方
「Interior.Color」を使ってRGBカラーを指定します。
まずは実行見本をどうぞ。
実行見本
今回は「A1セル」を黄色に塗りつぶした場合の例です。
ひとまず全コードと実行結果をご覧ください。
解説は後ほど行います。
全コード
Sub セルの塗りつぶし()
Range("A1").Interior.Color = RGB(255, 255, 0)
End Sub
実行結果
画像左がマクロ実行前、右が実行後です。

解説
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
プロシージャの作成
Sub セルの塗りつぶし()
End Sub
プロシージャなど、マクロの基礎は下記記事でわかりやすく解説しております。
コードだけではなく、開発タブの表示からマクロの保存まで知りたい方はご参考ください。
セルの塗りつぶし(背景色の変更)
Range("A1").Interior.Color = RGB(255, 255, 0)
上記一文にて、セルの背景色を変更(セルを塗りつぶし)しています。
今回は、A1セルを黄色に塗りつぶしした例です。
【コードの解説】
Range():セルの位置を指定するのに使います。
()内にセル名を書いてください。
Interior.Color:指定したセルの背景色を変更するのに使います。
RGB():光の三原色で色を指定します。
【RGB(光の三原色)とは?】
R(Red:赤)・G(Green:緑)・B(Blue:青)の光をあてる強さや割合によって色が変化するというものです。
これら3色の光を全く当てなければ真っ暗なので黒、すべての光をいっぱいに当てると白くなるという具合です。

RGB(赤, 緑, 青)の配合で色を決めます。
それぞれの数値が0~255まであり、今回は赤と緑を255(最大)で配合しているため、黄色になるというわけです。
【よく使う色の配合例】
- 赤:(255, 0, 0)
- 緑:(0, 255, 0)
- 青:(0, 0, 255)
- 白:(255, 255, 255)
- 黒:(0, 0, 0)
- 灰:(200, 200, 200)
- 黄:(255, 255, 0)
- 紫:(200, 0, 200)
- 紺:(0, 0, 200)
ボタンを押してマクロを実行させることも可能です。
ボタンの作り方は、下記記事でわかりやすく解説しております。
範囲指定したセルの背景色を変えるマクロ

Range("A1:C1").Interior.Color = RGB(255, 255, 0)
前項と比べて、「セルの指定方法」が変わっただけです。
「A1:C1」と書くことで、A1~C1セルをまとめて塗りつぶしすることができます。
表のタイトル行だけ塗りつぶしたい場合に便利です。
うまく動作しないときの対処法
エラーが発生する
コンパイルエラー・実行時エラー
コードに問題がある場合が多いです。
「”」や()など、2つセットの記号が片方だけになっていないかなど、コードを再確認しましょう。
セル名を「”」で囲っていない場合でもエラーが発生します。
警告表示

上記の表示が出た場合は、マクロが無効になっています。
エクセルに表示された「コンテンツの有効化」をクリックするか、下記記事を参考にセキュリティ設定を変更してください。
最後に
セルの背景色を変更するマクロの作り方を解説いたしました。
当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!