タイトルのテキスト
タイトルのテキスト
タイトルのテキスト
タイトルのテキスト

塗りつぶしたセルのカラーインデックス(色)を取得するマクロの作成方法を徹底解説

VBA

t f B! P L

 

関数でセルの色を調べるものはありません。

「VBA」を使ってセルの塗りつぶしを行いたいときには、その色の引数(色の情報)を指定してあげなくてはなりません。

色の情報には「RGB」形式と「カラーインデックス」があります。

カラーインデックスはそれぞれの色に特定の番号が割り振られています。

セルの色のカラーインデックスを表示したい場合は、以下のコードで表示させることができます。

VBAのコード【セルの色のカラーインデックスを調べる】

 Sub 色を調べる()

Do Until ActiveCell.Interior.ColorIndex = -4142

a = ActiveCell.Interior.ColorIndex

ActiveCell.Offset(0, 1).Value = a

ActiveCell.Offset(1, 0).Select

Loop

End Sub


マクロの使用方法

①コードのコピペ

Alt + F11 を押して、VBEを開きます。

コードを「個人用マクロブック」、「作業中のブック」どれでも構いませんので、

標準モジュールを挿入して、そこにコードをコピペします。」

 ②マクロの実行

検索したい色の一覧を選択した状態で、

「実行」をクリックし、「Sub/ユーザーフォームの実行」をクリックし、コードを実行します。

  ③結果の出力

色が塗りつぶされているセルの隣に各色のカラーインデックスが表示されました。

④コードの解説

Sub 色を調べる()

マクロのタイトルです。

Do Until ActiveCell.Interior.ColorIndex = -4142

色が塗りつぶされていないセルになるまで続けなさい

 a = ActiveCell.Interior.ColorIndex

選択されているセルのカラーインデックスを変数aに代入

 ActiveCell.Offset(0, 1).Value = a

選択されているセルの右なりにaを表示

 ActiveCell.Offset(1, 0).Select

下のセルに移動せよ

Loop

条件が満たされるまで繰り返しなさい

End Sub

プログラムの終了

となっています。

まとめ

この記事では、カラーインデックスを調べるマクロのコードの紹介をしました。
エクセルVBAでは、セルの塗りつぶしを行いたいときがよくあります。
一度、自分がよくつかう色のカラーインデックスを調べておくと今後、コードを書くのに便利ですね。 

コピペして使ってみてください。

koneka1208

koneka1208

自己紹介

自分の写真
エクセル好きの窓際会社員です。 エクセルの操作法や日々の会社で得た知見などを発信していきます。 よろしくお願いします。

ブログ アーカイブ

連絡フォーム

名前

メール *

メッセージ *

QooQ