
【ファイル付き】コピペで使えるExcelマクロ!背景色をRGB値で取得して表示するマクロ
ExcelでVBAを使って、背景色を変更するようなマクロを作成するときに
RGB値で指定をしなければいけません。
その際に、画面の表示されている背景色のRGBを取得するマクロをご紹介します。
使いどころが少しニッチですが、ぜひ参考にしてみてください。
Excelマクロの基本的な使い方は、下の記事を参考にしてください
1. マクロの概要
今回紹介するマクロは、現在選択中のセルに適用されている条件付き書式の背景色を正確に取得し、その色を**RGB(Red, Green, Blue)**の数値としてメッセージボックスで表示するものです。
ポイントは以下のとおりです。
通常のセルの背景色だけではなく、条件付き書式によって動的に変更されている背景色でも取得できる。
取得した色を「赤」「緑」「青」の各要素に分解して表示する。

2. コードの説明
以下が今回紹介するVBAコードです。ExcelのVBAエディタに貼り付けて使います。
Sub ShowCellRGBWithConditional()
Dim cellColor As Long
Dim redValue As Long, greenValue As Long, blueValue As Long
' 選択セルの条件付き書式の背景色を取得
cellColor = Selection.DisplayFormat.Interior.Color
' RGB値を分解
redValue = cellColor Mod 256
greenValue = (cellColor \ 256) Mod 256
blueValue = (cellColor \ 65536) Mod 256
' メッセージボックスで表示
MsgBox "Red=" & redValue & ", Green=" & greenValue & ", Blue=" & blueValue, _
vbInformation, "セルのRGB値 (条件付き書式対応)"
End Sub
3. 使い方
マクロを利用するための手順を説明します。
VBE(Visual Basic Editor)の起動
Excelを開き、[開発]タブ → [Visual Basic]をクリックするか、Alt + F11キーでVBEを起動します。
標準モジュールへコードを貼り付け
VBE画面の左側(プロジェクトウィンドウ)で、対象のファイルを選択し、[挿入] → [標準モジュール]をクリックして新しいモジュールを追加します。
先ほどのコードをそのモジュールに貼り付けます。
マクロを実行したいセルを選択
Excelに戻り、色を確認したいセル(条件付き書式が適用されているセル)を1つ選択します。
複数セルを選択している場合、基本的に先頭セルが対象となります。
マクロを実行
[開発]タブ → [マクロ]をクリックするか、VBE画面に戻ってF5キーを押すことでマクロが実行されます。
すると、メッセージボックスが表示され、条件付き書式の色がRed, Green, Blueの数値で確認できます。
4. ファイルの配布
実際のファイルも置いておきます。これをダウンロードして使用することも可能です。
5. まとめ
本記事では、画面の表示されている背景色のRGBを取得するマクロを紹介しました。
この記事で紹介したマクロをさらにカスタマイズしたい場合や、エラーが発生する場合は、お気軽にコメントをお寄せください!
※本記事で紹介しているマクロやファイルの使用に伴い発生したいかなるトラブルや損害についても、当方では一切の責任を負いかねます。すべて自己責任のもとでご利用ください。