Caseキーワードとは何か
VBAにおいて、条件分岐を行う際によく使われるキーワードの1つが「Case」です。
Caseキーワードは、if文やSelect Case文と同様に、プログラムの流れを制御するために使用されます。具体的には、Caseキーワードは、ある値がある範囲内にあるかどうかを判定し、その条件に基づいて特定の処理を実行することができます。
Caseキーワードを使ったSwitch文の書き方
Caseキーワードは、Switch文としても使用することができます。
Switch文は、ある値に基づいて、複数の処理の中から特定の処理を実行するために用いられます。
以下は、Caseキーワードを使ったSwitch文の基本的な書き方です。
1 2 3 4 5 6 7 8 |
Select Case 変数 Case 値1 ' 値1の場合の処理 Case 値2 ' 値2の場合の処理 Case Else ' どの値にも該当しない場合の処理 End Select |
この例では、変数が値1の場合は「値1の場合の処理」が実行され、変数が値2の場合は「値2の場合の処理」が実行されます。
どの値にも該当しない場合は、Case Else以下の処理が実行されます。
Caseキーワードを使った条件分岐の例
Caseキーワードは、特定の値に基づいた条件分岐にも使用することができます。
以下は、Caseキーワードを使った条件分岐の例です。
1 2 3 4 5 6 7 8 |
Select Case 変数 Case 値1 To 値2 ' 値1から値2の範囲内にある場合の処理 Case 値3, 値4 ' 値3または値4の場合の処理 Case Else ' どの値にも該当しない場合の処理 End Select |
この例では、変数が値1から値2の範囲内にある場合は「値1から値2の範囲内にある場合の処理」が実行され、変数が
値3または値4の場合は「値3または値4の場合の処理」が実行されます。どの値にも該当しない場合は、Case Else以下の処理が実行されます。
また、Caseキーワードは文字列にも使用することができます。以下は、文字列に基づく条件分岐の例です。
1 2 3 4 5 6 7 8 |
Select Case 変数 Case "文字列1" ' 文字列1の場合の処理 Case "文字列2" ' 文字列2の場合の処理 Case Else ' どの文字列にも該当しない場合の処理 End Select |
Caseキーワードの注意点
Caseキーワードを使用する際に注意することがいくつかあります。まず、Caseキーワードの後ろに指定する値は、必ずしも数値である必要はありません。文字列や真偽値など、任意の型を指定することができます。
また、Case Else以下に複数の処理を書く場合は、ブロックを使用することが推奨されます。
以下は、ブロックを使用したCase Else以下の例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Select Case 変数 Case 値1 ' 値1の場合の処理 Case 値2 ' 値2の場合の処理 Case Else ' どの値にも該当しない場合の処理 { ' 処理1 ' 処理2 ' 処理3 } End Select |
サンプルコード
以下は、Caseキーワードを使用したサンプルコードです。
このコードでは、整数型の変数「num」に対して、Caseキーワードを使用した条件分岐を行っています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub CaseExample() Dim num As Integer num = 3 Select Case num Case 1 MsgBox "numの値は1です。" Case 2 MsgBox "numの値は2です。" Case 3 MsgBox "numの値は3です。" Case 4, 5 MsgBox "numの値は4または5です。" Case Else MsgBox "numの値は1~5の範囲外です。" End Select End Sub |
このコードでは、まず整数型の変数「num」を宣言して、値3を代入しています。
次に、Select Case文を使用して、「num」の値に応じて条件分岐を行っています。
Caseキーワードを使用した条件分岐の例として、以下のような処理が行われます。
- 「num」が1の場合:「numの値は1です。」というメッセージボックスが表示されます。
- 「num」が2の場合:「numの値は2です。」というメッセージボックスが表示されます。
- 「num」が3の場合:「numの値は3です。」というメッセージボックスが表示されます。
- 「num」が4または5の場合:「numの値は4または5です。」というメッセージボックスが表示されます。
- 「num」が1~5の範囲外の場合:「numの値は1~5の範囲外です。」というメッセージボックスが表示されます。
このように、Caseキーワードを使用することで、複数の条件に応じた処理をシンプルに実装することができます。
コメント