今回は、表の中のデータが条件に合致したら目立つようにセルに背景色をつける方法をご紹介します。
やりたいことはシンプルに、ボウリングのリーグ戦での成績表一覧で、自分のAVEを各ゲーム超えると1ポイント、3ゲーム制なので全て上回ったら3ポイントになるルールなのです。
この参加者にご褒美としてプレゼントするのですが、表の中からいちいち探すのは面倒ですし、間違えのもとになるので自動的に背景色を変更して目立たせたい。
波乗りアヒル
セルひとつひとつ設定も面倒くさい!
目次
ColorIndexとFor~Nextで完成
ユーザーフォームのコマンドボタンに下記VBAコードを入力すると、繰り返し処理で条件に合致したセルの背景色が変わります。
波乗りアヒル
条件は下記の通りです
- 表の範囲が3行目~42行目まで
- 背景色を変更するのは20列目(T列)
- 見つける数字(条件)は「3」
- 条件に合致した時の背景色番号38
- それ以外は背景色番号2
Private Sub CommandButton1_Click()
For i = 3 To 42
If Cells(i, 20).Value = “3” Then
Cells(i, 20).Interior.ColorIndex = 38
Else
Cells(i, 20).Interior.ColorIndex = 2
End If
Next i
End Sub
For i = 3 To 42
If Cells(i, 20).Value = “3” Then
Cells(i, 20).Interior.ColorIndex = 38
Else
Cells(i, 20).Interior.ColorIndex = 2
End If
Next i
End Sub
- コマンドボタン1を押したら
- 繰り返し処理の変数「i」を宣言し変数は3~42
- Ifステートメントでセル(i行の20列)の値が3だったら
- セル(i行の20列)の背景色は色番号38にする
- そうでなかったら
- セル(i行の20列)の背景色は色番号2にする
- Ifステートメント終了
- 繰り返す
- マクロ記録終了
というVBAコードで繰り返し指定した行の値を探して条件に合致すれば、背景色を変えてくれます。
当然、成績表なので毎週成績(値)が変われば、自動的に判別してくれるので、自分の目で見て探す事が無いので間違えないですね。

波乗りアヒル
Excel-VBAを使えば数分かかる作業がたったの1秒で終了しますよ!