1.使い方
2.Select Case とは?
3.コード説明
4.練習問題
1. 使い方
If~Thenステートメントでは条件を処理することができますね。ですが、If~Thenステートメントの数が多くなると1つ1つコードを書くのは大変です。そんなとき、Select~Caseステートメントを使用すると簡単かつ時間短縮することができます。
ではSelect~Caseステートメントとはどういうものなのか見てみましょう。
2.Select Case とは?
Select~Caseステートメントは複数の条件を処理する際に使用します。
各Caseの条件を上から順番に処理します。
(例)変数=値1がTrueの際は、処理1を実行。条件がTrueではい場合は、次の条件を実行します。どの条件にも当てはまらない際は、Case Else以下の処理を実行します。
3.コード説明
条件分岐(select case)
Select Case 変数
Case 値1
処理1
Case 値2
処理2
Case Else
処理3
End Select
処理は様々な方法があります。例えば以下のようにメッセージボックスを表示することができます。
Select Case x
Case 0 to 5
MsgBox “5 以下です”
Case 6 to 10
MsgBox “10以下です”
Case else
MsgBox “10以上です”
End Select
4を挿入した場合下のメッセージボックスが表示されます
比較演算を使用する場合はCase Isを使用します。この場合は、Case Is の後ろに比較条件を記入します。
Select Case 変数
Case is 比較条件1
処理1
Case is 比較条件2
処理2
Case Else
処理3
End Select
下のコードの場合、95点を挿入すると下のメッセージボックスが表示されます
Select Case 成績
Case Is >= 90
MsgBox “秀”
Case 80 To 89
MsgBox “優”
Case 70 To 79
MsgBox “良”
Case 60 To 69
MsgBox “可”
Case Else
MsgBox “不可”
End Select
4.練習問題
1)95を挿入した場合、メッセージボックスはなんと表示されるでしょう?
Select Case x
Case 0 to 59
MsgBox “ 残念”
Case 51 to 90
MsgBox “よくできました”
Case else
MsgBox “大変よくできました”
End Select
2) 以下のコードの間違いはどこでしょう
Select Case 成績
Case >= 90
MsgBox “秀”
Case 80 To 89
MsgBox “優”
Case 70 To 79
MsgBox “良”
Case 60 To 69
MsgBox “可”
Case Else
MsgBox “不可”
End Select
3) If~ThenステートメントとSelect Caseステートメントの違いは何でしょう?
4) メッセージボックスが表示されるためにはどんなコードを書きますか?
4) 年齢を記入して、下のような文章をメッセージボックスに表示するにはどうしたら良いですか?
・ 未成年→ 「未成年です」
・ 20歳以上~65歳未満→ 「成人です」
・ 65歳以上→ 「高齢者です」
5)最初のCase条件に当てはまらない場合、どのような処理がされますか?
模範解答
1)95は90以上なので、Case Elseが実行されます。よって、メッセージボックスは"大変よくできました"
2)一番上のCaseは”>=90”という比較条件を使用しているため、”Case Is >= 90”になります。
3)If~Thenステートメントの数が多くなると1つ1つコードを書くのは大変ですが、Select~Caseステートメントを使用すると簡単かつ時間短縮することができます。
4)
Select case age
Case is <20
MsgBox "未成年です”
Case 20 to 64
MsgBox "成人です”
Case is >= 65
MsgBox "高齢者です"
End Select case
5)変数=値1がTrueの際は、処理1を実行。条件がTrueではい場合は、次の条件を実行します。どの条件にも当てはまらない際は、Case Else以下の処理を実行します。
コメント
最新を表示する
良い点:文字の大きさ、色等のバランスがよくまとまりがある。
改善点:いくつか画像が表示されていないものがあるのでそこが改善されたらより良いなと思いました。
良い点
コードだけを書くのではなく、図を用いて説明していることによって、
実際に動かした場合どういう風になるか理解しやすいところ。
改善点
ところどころ図が表示されていないのがあること。
よかった点
全体を通して説明がまとまっており、読みやすい点は非常によいと感じました。
また、練習問題がバラエティに富んでおりよいと思った。
改善点
画像表示されていない画像がいくつかありそこは改善してほしい。
練習問題1の「大変よく」は「大変よくできました」の誤植ですね
改善点
練習問題の「 4) メッセージボックスが表示されるためにはのどんなコードを書きますか?」というのは、Select Caseには直接関係ないですね。
例えば、年齢を入力して、
・ 未成年→ 「未成年です」
・ 20歳以上~65歳未満→ 「成人です」
・ 65歳以上→ 「高齢者です」
のような文章をメッセージボックスに表示するにはどうしたら良いですか?、といった練習問題に変えてはどうでしょうか?
上のような問題にすれば、Select Caseと メッセージボックスを同時に練習できます。
良い点
レイアウトがわかりやすい。コードの部分の色を変えているのはとても良いですね。
良い点
アウトラインがあって、内容がわかりやすい点。
文字だけだとわかりにくいが、画像にすることで理解しやすい点
練習問題が多い点
改善できる点
何枚か画像が適切に表示されていない点(私だけかもしれない)
良い点
模範解答に詳しく解説が載っているところ。
図を多く用いて、わかりやすいように工夫されているところ。
改善できる点
それぞれの図に、もう少し説明が多いとなおいいと思う。
NG表示方式
NGID一覧