VBメニュー
トップページ
マネジメント パソコン英語
進学 ・資格 仕事 ・生活 技能ハッピーライフ

 

《テーマ》If Then, If Then Else

 

《解説》

 

式の値に基づいて、条件付きの実行を行うフロー制御 テスートメントである。

構文

If condition Then [statements][Else elsestatements]

または、次に示すブロック形式の構文を使用することもできる。

If condition Then
[statements]

[ElseIf condition-n Then
[elseifstatements] ...

[Else
[elsestatements]]

End If

If...Then...Else ステートメントの構文は、次の指定項目から構成される。

指定項目 内容
condition 必ず指定する。次の 2 種類の式のいずれかを指定する。
  真 (True)偽 (False) を評価する数式または文字列式を指定する。引数 condition の値がNull値 の場合、引数 condition偽 (False) であるとみなされる。
  TypeOf objectname Is objecttype 形式の式を指定する。引数 objectname は任意のオブジェクトの参照であり、引数 objecttype は任意の有効なオブジェクト型である。この式は、引数 objectname が引数 objecttype で指定された オブジェクト型(Object)であれば真 (True) を返し、それ以外のときには偽 (False) を返す。
statements ブロック形式の場合は省略可能である。Else 節を含まない単一行形式の場合は、必ず指定する。引数 condition真 (True) のとき、実行される。コロン (:) で区切られた一連のステートメントを指定する。
condition-n 省略可能である。引数 condition に同じ。
elseifstatements 省略可能である。引数 condition-n真 (True) のときに実行される一連のステートメントを指定する。
elsestatements 省略可能である。Else 以前に定義されている条件 (引数 condition または引数 condition-n) がどれも真 (True) でないときに実行される一連のステートメントを指定する。

解説

単一行形式の If...Then...Else ステートメント (第 1 の構文) は、短く簡単な条件判断を行うときに使用する。ブロック形式の If...Then...Else ステートメント (第 2 の構文) は、単一行形式の構文に比べ、より構造化された柔軟な記述ができる。また、コードの読みやすさや保守性が向上し、デバッグも行いやすくなる。

メモ   単一行形式の If...Then...Else ステートメントを使用すると、If...Then ステートメントの判断結果として、複数のステートメントを実行することができる。同じ行にすべてのステートメントをコロン (:) で区切って指定する。次にこのステートメントの例を示す。

If A > 10 Then A = A + 1 : B = B + A : C = C + B 

ブロック形式の If...Then...Else ステートメントでは、If ステートメントを行の先頭のステートメントとして指定する必要がある。ステートメント内の Else 節、ElseIf 節、および End If 節には、これら前に行番号または行ラベルのみ指定できる。ブロック形式の If ステートメントは、End If ステートメントで終了させる必要がある。

ブロック形式の If ステートメントかどうかを判断する場合、キーワード Then の後に何が続くかが調べられる。キーワード Then と同じ行の後ろの部分にコメント以外のものがあると、ステートメントは単一行形式の If ステートメントとして扱われる。

Else 節と ElseIf 節はどちらも必要に応じて定義する。また、ブロック形式の If ステートメントでは、ElseIf 節はいくつ指定してもかまわない。ただし、Else 節の後ろには ElseIf 節を指定することはできない。また、ブロック形式の If ステートメントはネスト (入れ子) 構造にすることができる。

ブロック形式の If ステートメント (第 2 の構文) を実行すると、引数 condition がテストされる。引数 condition真 (True) の場合、Then の次のステートメントが実行される。引数 condition偽 (False) の場合、ElseIf 節に条件が指定されているときは、この条件が代わりに評価される。真 (True) に評価される条件が見つかると、その条件に関連付けられている Then の次のステートメントが実行される。どの ElseIf 節の条件も真 (True) でない場合、または ElseIf 節がない場合は、Else の次のステートメントが実行される。Then または Else の次のステートメントを実行した後、End If の次のステートメントが続いて実行される。

ヒント   1 つの条件式の値によって、複数の処理のいずれかを実行させるには、Select Case ステートメントの方が適している。ただし、TypeOf objectname Is objecttype 節を Select Case ステートメントと共に使用することはできない。

メモ   TypeOf には、長整数型、整数型などのオブジェクト型以外の引数は使用できない。

[MSDNより引用]

 

VBメニュー
トップページ
マネジメント パソコン英語
進学 ・資格 仕事 ・生活 技能ハッピーライフ