セルの背景色を2クリックで他範囲にも展開できるマクロ

vbabgcoloreyecatch

エクセルVBAで、セルの背景色を他セルへの転用設置する時の面倒設定を解決します。
その都度RGB値を確認入力しなくてもコピペ感覚で背景色を設置することが出来ます。

こんにちは じゅんぱ店長 (@junpa33) です。

エクセルシートでのセルの背景色の設置に関してのお悩みを解決します。

たくさんの美しい色が載っているカラーチャートの中で、気に入った色をエクセルシートのセルに使いたいと思ったことが少なからずあるでしょう。

例えば、” 空色 #a0d8ef RGB( 160, 216, 239 ) ” を気に入って、背景色に設定したいという時はどの様に設定するでしょうか? またそれを、他のセルにも使いたい時はどの様に設定するでしょうか?

最初に設定するときは、RGB要素が分かっているのでそのまま値を入力すればOKでしょう。

問題は、次にその色を他のセルに背景色設定する場合です。

今回は、この面倒くさい設定を少なからず簡単にすることが出来るマクロを作成していきます。

背景色の設定方法について

vbabgcolorsetp005

通常はエクセルでセルの背景色を設定したい時は、リボンのホームタブで、「塗りつぶしの色」アイコンからエクセルでプリセットされた色のどれかを選択します。

プリセットの色を使用する分にはそんなに手間ではありません。

ところが、好みで選んだ色をを指定したい場合に、 ” 少々、面倒な操作 ” になります。

最初のセル背景色設定

プリセットされていない色を背景色に設定する場合は次のような操作を行います。

例えば「空色」 #a0d8ef RGB( 160, 216, 239 ) ” を背景色に設定するには、

色の設定ウインドウで「ユーザー設定」からR・G・Bを設定します。

空色 #a0d8ef を設定する

使った背景色の今までの再利用方法

同じ「空色」を他のセルに使用する場合は、使った色が履歴(メモリ)で残っている場合は、「最近使用した色」から指定することが出来ます。

既に残っていない時は、最初の設定と同じで「ユーザー設定」からR・G・Bを設定することになります。

更にもし、R・G・B要素を忘れてしまった場合は、その度に、要素を調べるため元に背景色設定したセルに戻って、値をチェックすることになります。

このような作業は、場合によっては結構面倒で ” 気に入った色を使おう ” という気を失せさせてしまい、「手間だしいつものカラーチャート色でいいか」ということにもなります。

背景色の簡単再使用のVBA

vbabgcolorsetp006

エクセルマクロを使えば、好みで決めた色をセルの背景色にしたとしても、

再利用時のその都度の面倒な設定作業をしなくても、簡単に背景色を設置することが出来ます。

簡単再使用マクロの全コード

同じシート内の好きなセルに背景色設定をすることが出来ます。

変数解説

ColorNO・・・背景色のカラー値

ColC ・・・・ 背景色の設定されたセル

CTGC・・・・背景色を設定するセル範囲

HTML
Sub 背景色簡単再利用()

    Dim ColorNo As Long
    Dim ColC, CTGC As Range
'利用したい背景色を選択します。
        Set ColC = Nothing
        On Error Resume Next
        Set ColC = Application.InputBox("利用する背景色の" & _
            "セルを選択してください。", _
            Title:="背景色セル選択", Type:=8)
        If Not ColC Is Nothing Then
            ColC.Activate
        End If
        If Err.Number > 0 Then
            MsgBox "キャンセルされました。終了します。"
            Exit Sub
        End If
        On Error GoTo 0
        ColorNo = ColC.Interior.Color
'背景色を設定する範囲を選択します。
        Set CTGC = Nothing
        On Error Resume Next
        Set CTGC = Application.InputBox("背景色を設定する" & _
            "セル範囲を" & vbCrLf & "指定してください。", _
            Title:="背景色セル範囲指定", Type:=8)
        If Not CTGC Is Nothing Then
            CTGC.Activate
        End If
        If Err.Number > 0 Then
            MsgBox "キャンセルされました。終了します。"
            Exit Sub
        End If
        On Error GoTo 0
        CTGC.Interior.Color = ColorNo
End Sub
vbainputboxeyecatch 2つのインプットボックス。関数とメソッド、特徴を生かした使い分け

簡単再使用マクロの使い方

セルの背景色を再使用するエクセルVBAの使い方です。

VBAマクロ「背景色簡単再利用」はお好きなエクセルBOOKにコピペで設置します。

vbacopipeeyecatch Webで見つけたマクロをコピペで使う

マクロの起動は ” Alt+F8 ” で「背景色簡単再利用」を選択すればOKです。

元設定のセル背景色を選択します。

再利用したい背景色のあるセルを選択します。OKクリックで指定完了です。

背景色の指定
背景色の設定先を指定します。

背景色を設定するセル範囲を指定します。OKクリックで指定完了です。

背景色の設定範囲を指定
2ステップで完了します。

2ステップで背景色の再使用が完了します。

背景色の再使用完了

まとめ

vbabgcolorsetp007

エクセルで業務を行う中で、背景色設定は頻繁に使用する部類のものではないでしょうか。

よく使う割にはなぜかいつもワンパターン、同じ配色で利用してしまっています。

何故かと考えれば、プリセットカラー以外の背景色設定の不便さではないかと・・・。

ここで紹介した背景色設定マクロであれば、一旦シートに設定した背景色であれば、何色何種類であっても、コピペレベルの2ステップで再利用することが出来ます。

このマクロを「個人用マクロブック(XLSB)」に一旦保存すれば、どんなエクセルファイルに対してでも、後は選んだ好きな色を何度でも背景色として再利用することが出来ます。マクロを” Alt+F8 ” で起動するだけです。

vbapersonalbkeyecatch 個人用マクロブックの簡単作成と削除方法と使い方ガイド

エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。

vbastudyeyecatch2 エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です

今回の記事はここまでです。   最後までご覧いただき有難うございました。

エクセルVBA最速理解で必要な知識を集めよう!

エクセルVBA業務ツールで日常の業務改善を行いましょう。

VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。

アンケートでポイ活しよう!!

アンケートに答えれば答えるほど ”使える” ポイントがたまります。

NTTコム サーチ

af_banner01

Dstyle web

dstyleweb_logo
dstyle_320x50-min