条件に合うセルの背景に色を塗るマクロ If〜Then〜Else ステートメント
入力された値を判断して、セルに背景色を塗る Excel 2013 マクロ講座
点数が80点以上ならセルに色をつける
セルの値が80点以上なら色をつけるマクロを考えます。
80点以上ならピンクという条件判定処理を、If〜Then〜Else ステートメントで行います。
繰り返し処理には、For〜Nextステートメントを使います。
(サンプルファイルは、こちらから 2013マクロ講座34回サンプルデータ)
条件に合うセルの背景に色を塗るマクロ
以下の表で80点以上ならセルの背景に色をつけます。
セルを1つずつチェックしていくには、Cells プロパティを使います。
Cells プロパティは、行と列を数値で指定することでセルを選択できるためにFor〜Nextステートメントでセル範囲を条件判断する際に非常に便利です。
セルを1つずつチェックしていくには、Cells プロパティを使います。
Cells プロパティは、行と列を数値で指定することでセルを選択できるためにFor〜Nextステートメントでセル範囲を条件判断する際に非常に便利です。

Cells プロパティの使い方


例の場合のセルの行番号は2から10、列番号は2から4へと変化します。


行の変数をiとして、For i = 2 To 10
列の変数をjとしてFor j = 2 To 4とすれば、順にセルを選択しながら、条件判定することができます。
条件判定は、If...Then...Else ステートメントを使います。
「条件1」に一致する場合は「処理1」を実行
「条件1」に一致しない場合は「処理2」を実行
列の変数をjとしてFor j = 2 To 4とすれば、順にセルを選択しながら、条件判定することができます。
条件判定は、If...Then...Else ステートメントを使います。
「条件1」に一致する場合は「処理1」を実行
「条件1」に一致しない場合は「処理2」を実行
80点以上は、ピンク、それ以外は、水色に背景のセルを塗りましょう。
Sub セルが80以上ならピンク()
Dim i As Integer, j As Integer
For i = 2 To 10
For j = 2 To 4
If Cells(i, j).Value >= 80 Then '80以上の場合
Cells(i, j).Interior.ColorIndex = 22 'ピンク
Else
Cells(i, j).Interior.ColorIndex = 20 '水色
End If
Next j
Next i
End Sub

条件は、ElseIfで追加できますから、細かく色分けすることも可能です。
今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク