条件分岐【Select Case】

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

条件分岐【Select Case】

条件分岐【Select Case】

条件分岐で一番最初に思いつくのは【IF文】だと思います、ですがVBAには【IF文】の他に条件分岐をする方法があります。

SelectCaseはIF文と違い複数の条件を同時に判定するときに使います。それが今回ご紹介する【Select Case】です。

IFだけでは難しい複数条件の時に見やすくコードを書くことができるので、可読性がUPしてお勧めです。

IFステートメントについてはこちら

条件分岐【IFステートメント】プログラミングの基本といっても過言ではないこの条件分岐、【もしも〇〇だった場合〇〇を実行】という条件によって処理を変えるときに必...

Select Caseの使用方法

まずは、SelectCaseの書式はこのようになります。

 Select Case 変数
    Case 値A
      値がAだった場合の処理
    Case 値B     値がBだった場合の処理
 Case Else    A・Bどちらでもなかった場合の処理 End Select

SelectCaseの使い方としては【変数の値が○○だったらA、××だったらB、それ以外はC】のように使う事ができます。

 サンプルコード1【通常時】

実際に使用する場合はこのようになります。

Sub Sample2()
Dim aaa As String
aaa = "月曜"

 Select Case aaa
 
 Case "月曜"  ’←今回はこれが実行
 MsgBox "月曜です"
 Case "火曜"
 MsgBox "火曜です"
 Case "水曜"
 MsgBox "水曜です"
 End Select
 
End Sub

サンプルコード2【比較する場合】

比較演算子を使う場合はSelectCaseの書式が少しばかり変わってしまします。

Caseの後に【Is】というキーワードを使います。

    Case Is 比較条件1

実際に使用した場合はこのようにします。

inputBoxに数値を入力してその点数を判定して条件を分岐するコードです。

Sub Sample()
   Dim inpt As Integer
    inpt = InputBox("数値を入力")
    
    Select Case inpt
        Case Is > 80
            MsgBox "80以上"
        Case Is > 70
            MsgBox "70以上。"
        Case Is > 50
            MsgBox "50以上"
        Case Else
            MsgBox "50以下"
    End Select
End Sub

サンプルコード3【範囲条件の場合】

範囲条件の場合は【TO】をしようして範囲の条件を指定することができます。

【80 TO 100】にした場合【80から100】という条件を指定したことになります。

Sub Sample()
 Dim inpt As Integer
 
 inpt = InputBox("数値を入力")
 
   Select Case inpt
    Case 80 To 100
     MsgBox "80以上"
    Case 70 To 79
     MsgBox "70以上80以下。"
    Case 50 To 69
     MsgBox "50以上70以下"
    Case Else
     MsgBox "50以下"
   End Select
End Sub

サンプルコード4【複数条件の場合】

複数条件の場合は【,(カンマ)】で区切る必要があります。【Case 1, 2, 3】にした場合は【1または2または3です】という条件になります。

Sub Sample()
Dim aaa As String
aaa = "1"

 Select Case aaa
 
 Case 1, 2, 3
 MsgBox "変数aaaは1または2または3です"
 Case 4, 5, 6
 MsgBox "変数aaaは4または5または6です"

 End Select
 
End Sub

まとめ

いかがでしたでしょうか?今回は複数条件のときに便利な【SelectCase】をご紹介しました、SelectCaseは複数条件の場合は【IF】より使いやすく、便利なステートメントですので是非覚えてください!

特に【TO】の場合は年齢等を年齢ごとに振り分ける等に私は使用しています。

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です