訪問して頂きありがとうございます。まさふくろーです。
この記事では、条件によって処理を分岐する方法-その3-をご紹介します。
目次
条件によって処理を分岐する(論理演算子を使用する場合)
条件によって処理を分岐する構文
Select Case testexpression
[ Case expressionlist-n ]
[ statements-n ]
[ Case Else ]
[ elsestatements ]
End Select
説明 |
Select Caseステートメントは、testexpressionに指定された式と、Case句を比較し、一致すれば、その句を実行します。 |
なお、Case句に当てはまった場合、それ以降の処理は行われません。 |
Case句に複数の条件を指定した場合、条件に当てはまる値があれば、以降の条件はチェックしません。 |
条件式には、And演算子やOr演算子などの論理演算子を指定することができます。 |
論理演算子を使用する場合は、testexpressionには、「True」または「False」のBoolean型を指定します。 |
カッコ「[ ]」の部分は、省略可能な項目です。 |
指定項目 | 必須 | 説明 |
testexpression | 〇 | Boolean型(「True」または「False」)を指定します。 |
expressionlist-n | △ | 条件を指定します。Case句が指定されている場合は、必須です。 |
statements-n | ー | testexpressionの値が、expressionlist-nで指定した条件に当てはまった場合に実行する処理を記述します。 |
elsestatements | ー | testexpressionの値が、Case句で指定したどの条件にも当てはまらなかった場合に実行する処理を記述します。 |
主な論理演算子 |
||
演算子 | 意味 | 使用例 |
And | 条件1 と 条件2 が True の場合に True を返します。 | 条件1 And 条件2 |
Or | 条件1 または 条件2 のいずれかが True の場合に True を返します。 | 条件1 Or 条件2 |
Not | 条件 が True でない場合に True を返します。 | Not 条件 |
サンプルプログラムで使用する関数
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 True Case ret < 0 MsgBox "マイナス" Case ret >= 0 And ret < 10 MsgBox "0以上10未満" Case Else MsgBox "10以上" End Select End Sub |
1 | Subプロシージャ「Sample」を作成。 |
3 | InputBox関数の戻り値用変数「ret」(長整数型)を宣言。 |
5 | InputBoxで入力された値を、変数「ret」に代入。 |
7 | Select CaseステートメントにBoolean値「True」を設定。 |
8 | 変数「ret」が「0」より小さい場合(Trueの場合)、 |
9 | 「マイナス」とメッセージボックスに表示する。 |
10 | 変数「ret」が「0以上10未満」である場合(Trueの場合)、 |
11 | 「0以上10未満」とメッセージボックスに表示する。 |
12 | 変数「ret」が上記の条件に当てはまらなかった場合、 |
13 | 「10以上」とメッセージボックスに表示する。 |
実行結果
「-1」を入力した場合
「2」を入力した場合
「10」を入力した場合
最後まで読んでいただき、ありがとうございました!
条件分岐の関連記事はこちら
本のまとめ関連記事はこちら