EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 アラフィフ生産技術の日常

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 EXCEL
EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能

本ページはプロモーションが含まれています

大量のデータを管理する人におすすめ。
合致したデータに色をつける方法を紹介します。
VBAを使いますが始め方から紹介。
安心してご覧ください。

EXCEL VBAを使って合致したデータに色をつける方法

サンプルシート

サンプルシートの1つめ。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 サンプルシート1
サンプルシート1

サンプルシート2つめ。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 サンプルシート2
サンプルシート2

やる事は、
✔ サンプルシート1のA列のデータとサンプルシート2のB列を比較
✔ 合致したセルをサンプルシート1のB列で指定した色番号で塗る
✔ 色番号だけだとわかりづらいのでサンプルシート1のC列も同じ色で塗る

まずは実行してみます

やり方を説明する前に結果をお見せします。
こんな感じになります。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 結果1
結果1
EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 結果2
結果2

VBAの始め方

VBAやった事あるよという方は飛ばしてください。
ファイル → その他 → オプション
と進んでください。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 ファイル → その他 → オプション
ファイル → その他 → オプション

リボンのユーザー設定 → 開発
開発に✔を入れたらOKで終了です。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 リボンのユーザー設定 → 開発
リボンのユーザー設定 → 開発

これで開発メニューが使えるようになります。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 開発メニュー
開発メニュー

この中で一番左の「Visual Basic」をクリック。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 Visual Basicエディター
Visual Basicエディター

ここからVBAを入力していきます。

VBA入力:データが合致したセルに色をつける方法

VBAの入力に入ります。
挿入 → 標準モジュール

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 挿入 → 標準モジュール
挿入 → 標準モジュール
EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 入力画面
入力画面

ここにVBAを書いていきます。
安心して下さい。
全部公開します。
こちらをコピー&ペーストして下さい。

Sub sample()
Dim i As Long, j As Long
Dim maxR1 As Long, maxR2 As Long
Dim ws1 As Worksheet
Dim dat1, dat2

Set ws1 = Sheets("Sheet2")
maxR1 = ws1.Cells(ws1.Rows.Count, "B").End(xlUp).Row
dat1 = ws1.Range("B1:B" & maxR1)

Application.ScreenUpdating = False
Set ws2 = Sheets("Sheet1")
maxR2 = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row
dat2 = ws2.Range("A1:A" & maxR2)

For i = 1 To maxR1
    For j = 2 To maxR2
        ws2.Cells(j, 3).Interior.ColorIndex = ws2.Cells(j, 2)
        If dat1(i, 1) <> "" Then
            If dat1(i, 1) = dat2(j, 1) Then
                ws1.Cells(i, "B").Interior.ColorIndex = ws2.Cells(j, 2)
                Exit For
            End If
        End If
    Next
Next

Application.ScreenUpdating = True

Set ws1 = Nothing
Set ws2 = Nothing
End Sub

ちなみに当プログラムはYahoo知恵袋のこちらの記事を参考にしました。
一部、機能追加など行って掲載しています。

セルに色をつける方法

セルに色をつけているところは
ws2.Cells(j, 3).Interior.ColorIndex = ws2.Cells(j, 2)
(こちらはサンプルシート1の3列目に色をつけています)

ws1.Cells(i, “B”).Interior.ColorIndex = ws2.Cells(j, 2)
(こちらはサンプルシート2の合致したセルに色をつけています)
です。
内容的には同じですね。
合致したデータの行で指定されている色番号の色で塗りつぶしてます。
もし塗りつぶしではなく文字色の変更をしたい場合は
Interiorの部分をFontに変更して下さい。

色番号

色番号はこちらが標準です。
見やすい色を選んでください。
1~56で指定します。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 色番号
色番号
AmazonでExcelの本をさがす

マクロの実行方法

マクロの実行方法は開発メニューの左から2番目「マクロ」をクリック。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 開発メニュー
開発メニュー

今回はマクロが1つしかないのでそのまま実行をクリックすればOKです。
マクロの名前はVBAの最初の行。
Sub sample()
Subの後がマクロ名になってます。
自由に変更してもらって構いません。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 マクロのリストから実行
マクロのリストから実行

保存方法

マクロ付きのEXCELブックは拡張子.xlsmで保存します。
名前を付けて保存→ファイルの種類→Excelマクロ有効ブック
としてください。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 名前を付けて保存
名前を付けて保存

ファイルを開いたとき

マクロ付きのエクセルを初めて開くとこちらの画面が出ます。

EXCEL VBA 条件に合うデータを色分けする方法 セルの色も指定可能 マクロが無効にされました
マクロが無効にされました

コンテンツの有効化をクリックすれば大丈夫です。

当ブログのトップページはこちらです。
ブックマークして頂けると嬉しいです。
よろしくお願いいたします。

コメント

タイトルとURLをコピーしました