訪問して頂きありがとうございます。まさふくろーです。
この記事では、条件によって処理を分岐する方法-その2-をご紹介します。
目次
条件によって処理を分岐する(Is、Toキーワードを使用する場合)
条件によって処理を分岐する構文
Select Case testexpression
[ Case expressionlist-n ]
[ statements-n ]
[ Case Else ]
[ elsestatements ]
End Select
説明 |
Select Caseステートメントは、testexpressionに指定された式と、Case句を比較し、結果がTrueになればその句を実行します。 |
なお、Case句に当てはまった場合、それ以降の処理は行われません。 |
Case句に複数の条件を指定した場合、条件に当てはまる値があれば、以降の条件はチェックしません。 |
条件式には、Isキーワード、Toキーワードを指定して、数値に関する条件を指定することができます。 |
文字列を指定した場合は、その文字列と一致したCase句のステートメントが実行されます。 |
また、条件式には、カンマで区切って複数の条件を指定することができます。この場合、条件はOR条件になります。 |
カッコ「[ ]」の部分は、省略可能な項目です。 |
指定項目 | 必須 | 説明 |
testexpression | 〇 | 基本データ型(byte,short,int,long,float,double,char,boolean)のいずれかの値を指定します。 |
expressionlist-n | △ | 条件を指定します。Case句が指定されている場合は、必須です。 |
statements-n | ー | testexpressionの値が、expressionlist-nで指定した条件に当てはまった場合に実行する処理を記述します。 |
elsestatements | ー | testexpressionの値が、Case句で指定したどの条件にも当てはまらなかった場合に実行する処理を記述します。 |
Select Caseステートメントで使用できるIsキーワードとは
説明 |
Isキーワードとは、比較演算子と併用して値の範囲を指定できるキーワードです。 |
主な比較演算子 |
|
演算子 | 意味 |
= | 右辺と左辺が等しい |
> | 左辺が右辺より大きい |
>= | 左辺が右辺以上 |
< | 左辺が右辺より小さい |
<= | 左辺が右辺以下 |
<> | 右辺と左辺が等しくない |
Select Caseステートメントで使用できるToキーワードとは
説明 |
Toキーワードとは、値の範囲を指定できるキーワードです。 |
Toキーワードを使用する場合は、小さい方の値を To の前に置く必要があります。 |
サンプルプログラムで使用する関数
InputBox関数
InputBox(prompt, [ title ], [ default ], [ xpos ], [ ypos ], [ helpfile, context ])
説明 |
InputBox関数は、入力ダイアログ ボックスを表示し、ユーザーがテキストを入力するかボタンをクリックするまで待機し、テキストボックスに入力した文字列を返します。 |
指定項目 | 必須 | 説明 |
prompt | 〇 | ダイアログボックスにメッセージとして表示する文字列を指定します。 |
title | ー | ダイアログボックスのタイトルバーに表示する文字列を指定します。 |
default | ー | テキストボックスに初期表示したい文字列を指定します。 |
xpos | ー | 画面の左端からダイアログボックスの左端までの水平方向の距離を twip 単位で示す数値式です。 xpos が省略された場合、ダイアログボックスは水平方向の中央寄せで表示されます。 |
ypos | ー | 画面の上部からダイアログボックスの上端までの縦方向の距離を twip 単位で示す数値式です。 ypos が省略された場合、ダイアログボックスは画面の約 3 分 1 下に下がった位置に垂直方向に配置されます。 |
helpfile |
ー |
ヘルプボタンが表示されます。 |
helpfileを指定した場合は、contextも必ず指定します。 | ||
context |
ー |
コンテキストIDを指定します。 |
contextを指定した場合は、helpfileも必ず指定します。 |
サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Private Sub Sample() Dim ret As Long ret = InputBox("数値入力") Select Case ret Case Is < 0 MsgBox "マイナス" Case 0 To 9 MsgBox "0以上10未満" Case Else MsgBox "10以上" End Select End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | InputBox関数の戻り値用変数「ret」(長整数型)を宣言。 |
5 | InputBoxで入力された値を、変数「ret」に代入。 |
7 | 変数「ret」の値が、 |
8 | 「0」より小さい場合、 |
9 | 「マイナス」とメッセージボックスに表示する。 |
10 | 「0~9」の間である場合、 |
11 | 「0以上10未満」とメッセージボックスに表示する。 |
12 | 上記の条件に当てはまらなかった場合、 |
13 | 「10以上」とメッセージボックスに表示する。 |
実行結果
「-1」を入力した場合
「2」を入力した場合
「10」を入力した場合
最後まで読んでいただき、ありがとうございました!
条件分岐の関連記事はこちら
本のまとめ関連記事はこちら