#21エクセルVBA入門-成績表を処理する

Excel VBA

応用問題をやりましょう

問題は
5人の点数で60以下の場合に背景色を赤にする。
赤の件数をカウントする。

プロシージャ名はFindLowScoresです。
変数は繰り返す行番号をi・・・2行目から始まります。
赤の件数をn・・・・最初は0です。
にします。

Sub FindLowScores()
    Dim i As Long
    Dim n As Long
    i = 2
    n = 0

 

A2から始まり空白のセルの手前(A6)まで繰り返すのは

Do While Cells(i, 1).Value <> ""
   ’処理
    i = i + 1
Loop

 

処理の中身は、点数の値「Cells(i,2).value」が60以下ならセルの背景色「Interior.Color」を赤「vbRed」にする。
そして、カウントn加える。

If Cells(i, 2).Value >= 60 Then
    Cells(i, 2).Interior.Color = vbRed
    n = n + 1
End If

 

最後にMsgBoxでn件を表示します。

MsgBox n & "件該当しました!"

 

Sub FindLowScores()
    Dim i As Long
    Dim n As Long
    i = 2
    n = 0
    
    Do While Cells(i, 1).Value <> ""
       If Cells(i, 2).Value >= 60 Then
            Cells(i, 2).Interior.Color = vbRed
            n = n + 1
        End If
        i = i + 1
    Loop    

    MsgBox n & "件該当しました!"
End Sub

 

コメント