【Excelマクロ初心者】イベント処理を使ってセルの色を条件付きで変更

スポンサーリンク
エクセル
スポンサーリンク

どうも!そこらへんの社会人です!

今回は、セルのイベント処理をやっていきます。
具体的には、セルがある条件になったときにその行のセルの色を変更するというのをやっていきます。
1つのセルだけであればエクセルにデフォルトで搭載されている条件付き書式でできるのですが
複数のセルはできないため今回をマクロを作成してみました。

条件付き書式の使い方は過去の記事を参考にしてみてください。

特定文字を条件付き書式を使って強調してみた
仕事をしていて下記のような管理表を使っているけど担当者色を付けないと分かりにくいな・・・ と思った経験はないでしょうか? そのときにあなたは、ひとつひとつ手作業で色をつけたりしていないでしょうか? 今回は、その作業をエクセル機能の条件付き書式を使ってやっていきたいと思います!!
アドセンス 広告

イベント処理とは?

イベント処理とは、

  • シートが選択されたとき
  • セルの値が変更されたとき
  • セルがダブルクリックされたとき
  • 選択範囲が変更されたとき

このような、特定の条件を満たしたときにマクロが実行される処理のことです。

イベント処理の実行のやり方(標準モジュールではではない??)

通常エクセルマクロを実行するときは、標準マクロに記載し実行しますが
イベント処理の場合は違いますので見てきましょう。

①エディターを起動し「WorkSheet」を選択

まず、エディターを起動し左のプロジェクトエクスプローラから(表示されていない方は表示タブから表示できます。)、
①イベントを実行させたいシートを選択
②Worksheetを選択してください。

②イベント処理を選択

右上のプルダウンリストから自分の実行させたいイベントを選択します。
今回は、セルが変更されたときに複数セルの色を変更したいためChangeを選択します。
選択すると下記のように自動でマクロが記載されます。

③イベント処理を記載していく

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i

For i = 4 To Range(“D1000”).End(xlUp).Row
iを4からD1000から「shift」+「Ctrl」+「↑」の行セルまで繰り返す

If Target.Row = i And Target.Column = 4 Then
行「i」と列「4」が変わったときに下記を実行する

Select Case Range(“D” & i).Value
セル「D&i」に以下条件が記載されたときに各条件を実行  
Case “田中”
田中と記載されたとき
Range(“D” & i, “E” & i).Interior.ColorIndex = 3
セル「D” & i, “E” & i」の背景色を赤にする
Case “山田”
山田と記載されたとき
Range(“D” & i, “E” & i).Interior.ColorIndex = 5
セル「D” & i, “E” & i」の背景色を青にする
Case “中田”
中田と記載されたとき
Range(“D” & i, “E” & i).Interior.ColorIndex = 6
セル「D” & i, “E” & i」の背景色を黄にする
End Select
End If
Next

End Sub

このマクロを実行すると下記のようになります。

いかがでしょうか?
これで会社の管理リストなどを見やすくすることが自動でできるのではないでしょうか?
ぜひ、生産性UPのための参考にしてみてください!

コメント

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