第4講 If文(もしもボックス)
第2話 成績一覧表に合格なら合格と表示させる
から実行ボタンを押すと
消去ボタンを押すと
を実現するプログラム例
Private Sub CommandButton1_Click()
CommandButton2_Click 'シートのB4からH11までを消去させる
Dim w As Integer, i As Byte, j As Byte
'以下国語などの表示
Cells(4, 3) = "国語"
Cells(4, 4) = "数学"
Cells(4, 5) = "英語"
Cells(4, 6) = "合計"
Cells(4, 7) = "平均"
Cells(4, 8) = "合否"
Cells(10, 2) = "合計"
Cells(11, 2) = "平均"
For i = 1 To 5 '出席番号の表示
Cells(4 + i, 2) = i
Next
For i = 0 To 4 '100点以下のランダムな得点の入力
For j = 0 To 2
Cells(5 + i, 3 + j) = Int(101 * Rnd)
Next
Next
For i = 0 To 4
w = 0 '0への初期化
For j = 0 To 2 '横(各生徒)合計算出
w = w + Cells(5 + i, 3 + j)
Next
Cells(5 + i, 6) = w '横(各生徒)合計算表示
Cells(5 + i, 7) = w / 3 '横(各生徒)平均表示
If w >= 150 Then Cells(5 + i, 8) = "合格"
Next
For i = 0 To 4
w = 0 '0への初期化
For j = 0 To 4 '縦(各教科)合計算出
w = w + Cells(5 + j, 3 + i)
Next
Cells(10, 3 + i) = w '縦(各教科)合計表示
Cells(11, 3 + i) = w / 5 '縦(各教科)平均表示
Next
End Sub
Private Sub CommandButton2_Click()
Range("B4:H11").Select
Selection.ClearContents 'C10からG11までのセルの消去
Range("A1").Select
End Sub
参考ダウンロード添付ファイル
今回は合格の場合に合格と表示させましたが、
本来は、不合格なら不合格と表示させたいころですね。
If文には否定の場合にも実行させる機能があります。
If P Then A Else B
です。
これは、もしPならAを、PでないならBを実行させなさいになります。
複数の文を実行させたい場合には
If P Then
A
B
C
Else
E
F
End If
などとします。
この場合には、
もし、PだったらAとBとCをこの順で実行させなさい、
Pでないなら、EとFをこの順で実行させなさい、
となります。
では改良して、
を実現してください。
第1話へ 第3話へ