どうも!そこらへんの社会人です!
今回は、セルのイベント処理をやっていきます。
具体的には、セルがある条件になったときにその行のセルの色を変更するというのをやっていきます。
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のための参考にしてみてください!
コメント