単純な分岐ばかりではありません。
3択や4択と分岐は様々です。
複数分岐として今回は Select Case を使ってみます。
サンプルダウンロード
実際の動きを見るのが一番です。
ダウンロードをして、ボタンをクリックするだけの簡単サンプルを用意しています。
6_判断処理:Select Caseを使って処理を多分岐にする
分岐に種類があるのはナゼ?
ほんとは複数の分岐もIf ~ Then文で作成できます。
どうするかというと、ながーく条件を書き続けたらいいのです。
しかし、その後が大変になります。
ながーく書くということは、後から条件を追加するときにどこを見たら良いのか分からなくなるコトが発生します。
だから用途にあうもの・使いやすい表現を利用すべきなのです。
プログラマーのセンスと言い換えることもできます。
たくさんの条件がある場合:Select Case
Select Caseの特徴は全パターン別に振り分けるられることです。
ざっくり言うと判断されるデータのパターンを最初に洗い出して、全てパターン化(準備)しておくわけです。
——————プログラム構文——————
Select Case 変数
Case 変数=A
処理1
Case 変数=B
処理2
Case 変数=C
処理3
Case else —(?)
処理4
End Select
——————————————————
【解説】
3つの条件とそれ以外の場合を考えています。
(?)Case elseとは「上記以外」と思ってください。
説明は具体例を示しながらしますので、後ほど。。。
実例を見ながら
——————プログラム——————
Dim Item As String
Select Case Item —①
Case Item = “りんご“ —②
Price = 100
Case Item = “みかん” —②
Price = 250
Case Item = “ばなな” —②
Price = 300
Case else —③
MsgBox “エラー”
End Select
————————————————
【解説】
①ここでの変数名はItemです。
②Itemが「りんご」「みかん」「ばなな」によって判別されます。
③Itemが「りんご」「みかん」「ばなな」以外だとエラーにします。
まとめ
より具体的に振り分けるときに Select Case の力が発揮されます。
細かくアレはこっち。ソレはあっち。それ以外のものはこうする。
と、プログラムを後から見たときにどのように分けているかがわかりやすいはずです。