08 VBA初めてのSelect Caseによる条件分岐をエレベーターを例に解説

この記事ではVBAでSelect Case文を学習します。
この文法を「エレベーター」を使って学習したことが、私には分かりやすかったです。

このSelect Caseでは条件分岐を行います。
イメージとして、あなたがエレベーターに乗っている所を想像して見て下さい。

押したボタンによって、止まる階が変わりますよね。
ですので、エレベーターはまさに「リアルSelect Case」なんです!!

電車を降りて駅の改札を出て、駅ビルに入りました。
ここは地下1階です。

話を簡単にする為に、この駅ビルは地下と地上1〜4階までのシンプルな駅ビルにします。

図で表すとこんな感じです。

文字でも図に合わせて書きます。

4 4階:レストラン街
3 3階:文房具店
2 2階:洋服屋
1 1階:パン屋
現在あなたは「地下・改札」にいます。

では、早速コードを見ていきます。

ボックス内の改行は「vbCrLf」を使い、「&」で結合します。
コードを改行する時は「_ (アンダーバー)」を使います。

Sub エレベーターで掴むSelectCase()

 ' 数値型の変数フロアを宣言
 Dim フロア As Integer

 'インプットボックスを使って降りる階を表示
 フロア = InputBox("1:1階のパン屋" _
 & vbCrLf & "2:2階の洋服屋" _
 & vbCrLf & "3:3階の文具店" _
 & vbCrLf & "4:4階のレストラン街", "何階で降りますか?")


'Select文を開始
 Select Case フロア

 '1階
 Case 1:
 MsgBox "1階に到着しました" _
 & vbCrLf & "「パン屋だ!!美味しそう!!」"


 '2階
 Case 2:
 MsgBox "2階に到着しました" _
 & vbCrLf & "「洋服屋だ!!良いジャケットあるかな♪」"


'3階
 Case 3:
 MsgBox "3階に到着しました" _
 & vbCrLf & "「ボールペンあるかな。」"


'4階
 Case 4:
 MsgBox "4階に到着しました" _
 & vbCrLf & "「広島風お好み焼き食べたい!!」"

'範囲外の場合
 Case Else
 MsgBox "スタッフオンリー です。1〜4を入力して下さい。"
 
 'Select文の終了
End Select

End Sub

1~4を入力すると、エレベーターであなたが行きたい階で止まります。
例えば、「4」を押すと、レストラン街に到着します。

インプットボックスに「4」と入力します。


これでエレベーターのスイッチで4階を押せました。

4階に到着すると、広島風お好み焼きが食べられるみたいです。

では、範囲外の「9」を入力してみます。

と、Elseの場合も処理されました。

皆さま、大変お疲れ様でした。
この記事最後のブレイクタイムPhotoは・・・

目白庭園の紅葉です。

仕事や勉強のリフレッシュに、趣味で写真を撮っておりますので、宜しかったら フォトストック写真ACさん の投稿もご覧頂けますと、大変嬉しい限りでございます!!

こちら、無料の「ダウンロードユーザー」に登録して頂けると、無料で写真のダウンロードが可能になります。

※ 先にGoogleアカウントを作成して頂くと、登録が ラク です♪

写真素材素材【写真AC】

 

最後までご精読、誠にありがとうございました!!

自己紹介


VBA自作サンプルプログラム集へ戻る

取りあえず事務職で働きたいから手っ取り早くExcel教えてくれ


MOSなどの資格試験対策

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。