第4講 If文(もしもボックス)
第5話 教科数を5教科とする
031
         ~
041
を実現するプログラム例
Private Sub CommandButton1_Click()
  CommandButton2_Click 'シートのB4からK46までを消去させる
  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(4, 9) = "平均"
  Cells(4, 10) = "合否"
  Cells(4, 11) = "講評"

  Cells(45, 2) = "合計"
  Cells(46, 2) = "平均"
  For i = 1 To 40 '出席番号の表示
    Cells(4 + i, 2) = i
  Next
  For i = 0 To 39 '100点以下のランダムな得点の入力
    For j = 0 To
4
      Cells(5 + i, 3 + j) = Int(101 * Rnd)
    Next
  Next
  For i = 0 To 39
    w = 0 '0への初期化
    For j = 0 To
4 '横(各生徒)合計算出
      w = w + Cells(5 + i, 3 + j)
    Next
    Cells(5 + i, 8) = w '横(各生徒)合計算表示
    Cells(5 + i, 9) = w /
5 '横(各生徒)平均表示
    
If w >= 250 Then Cells(5 + i, 10) = "合格" Else Cells(5 + i, 10) = "不合格"
    If w >= 300 Then
      Cells(5 + i, 11) = "優秀です"
    Else
      If w >= 200 Then
        Cells(5 + i, 11) = "普通です"
      Else
        Cells(5 + i, 11) = "不出来です"
      End If
    End If

  Next
  For i = 0 To
6
    w = 0 '0への初期化
    For j = 0 To 39 '縦(各教科)合計算出
      w = w + Cells(5 + j, 3 + i)
    Next
    Cells(45, 3 + i) = w '縦(各教科)合計表示
    Cells(46, 3 + i) = w / 40 '縦(各教科)平均表示
  Next
End Sub
Private Sub CommandButton2_Click()
  Range("B4:K46").Select
  Selection.ClearContents 'C10からK46までのセルの消去
  Range("A1").Select
End Sub
参考ダウンロード添付ファイル

講評をさらに4段階にしましょう。
Ifをさらに入れ子式に使えば実現できます。
評価基準は
320点以上は「大変優秀です」
320点未満280点以上は「優秀です」
280点未満230以上は「並の成績です」
230点未満は「頑張りが必要です」
とします。
071
        ~
071


第4話へ 第6話へ


トップへ