第5講 もしもボックス(If文)
第8話 否定付きもしもボックスの入れ子式使用による5段階評価
前話問題
90点以上『神』
90点未満80点以上『准超越者』
80点未満60点以上『人間』
60点未満40点以上『人造人間ベム・ベロ・ベラ級』
40点未満『ピノキオ以下の存在』
の5段階評価をB11に表示させるマクロ
解答例
Private Sub CommandButton1_Click()
Cells(6, 2) = Int(100 * Rnd())
If Cells(6, 2) >= 60 Then
Cells(8, 2) = "合格"
Else
Cells(8, 2) = "不合格"
End If
If Cells(6, 2) >= 70 Then
Cells(9, 2) = "優秀"
Else
If Cells(6, 2) >= 50 Then
Cells(9, 2) = "普通"
Else
Cells(9, 2) = "努力が必要"
End If
End If
If Cells(6, 2) >= 80 Then
Cells(10, 2) = "天才級"
Else
If Cells(6, 2) >= 65 Then
Cells(10, 2) = "秀才級"
Else
If Cells(6, 2) >= 50 Then
Cells(10, 2) = "平凡"
Else
Cells(10, 2) = "不出来"
End If
End If
End If
If Cells(6, 2) >= 90 Then
Cells(11, 2) = "神"
Else
If Cells(6, 2) >= 80 Then
Cells(11, 2) = "准超越者"
Else
If Cells(6, 2) >= 60 Then
Cells(11, 2) = "人間"
Else
If Cells(6, 2) >= 40 Then
Cells(11, 2) = "人造人間ベム・ベロ・ベラ級"
Else
Cells(11, 2) = "ピノキオ以下の存在"
End If
End If
End If
End If
End Sub
If~Else~文の入れ子式による多段階評価は、頭が混乱します。
実は、否定付きのもしもボックスを入れ子式に使用しなくても同じことを実現できます。
ヒントを書いておきます。
xが90未満80以上は数学でいえば、80≦x<90ですが、
VBAでは、
(80 <= x) and (x < 90)
と表現します。andはかつを意味します。
さて、このヒントを参考にIf文のみで合否、3段階評価、4段階評価、5段階評価を実現してください。
第7話へ 第9話へ
vc++講義へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義へ
VB講義基礎へ
初心者のためのJava 入門 基礎から応用まで
数学研究室に戻る