コンピュータプログラミングの最大のポイントの一つは条件分岐である。データの内容などに応じて、異なった処理を行う。いわゆる「もし 〜 ならば 〜 を行う」ということだ。条件分岐には2種類がある。ひとつは、「If」を使うもので、条件が成立するか否かで処理を変えるもの。もうひとつは、「Select」を使うもので、いくつかの条件のうち成立するものに応じた処理を行うものだ。
まず、「If」を使う場合であるが、前述の通り、条件が成立するか否かに応じて処理を変える。条件自体が複雑になることはあるが、分岐は「成立する or 成立しない」の2つしか選べない。条件分岐を重ねて行くことは可能だが、解り難くなるだけでなく、混乱の元になるので慎重に扱う必要がある。
If A<0 Then --- Aがマイナスの時の処理 --- Else --- Aがマイナスではない時の処理 --- End If |
もうひとつの条件分岐は「Select」を使う場合である。これの使い方は実は2種類あるが、まず、基本的な方、つまり、値の内容に応じた処理を行う場合を説明しておく。百聞は一見にしかず、血液型によって処理を変えるケースを記述しておく。ここでは、「Blood」という文字列型変数に血液型が入っているとする。血液型がA・B・Oの場合と、それ以外(つまりAB)の場合に応じて処理を行うものである。
Select Case Blood Case "A" --- 処理A --- Case "B" --- 処理B --- Case "O" --- 処理O --- Case Else --- 処理AB --- End Select |
さて、「Select」のもう一つの使い方だが、これは、複数の条件式を並べ、最初に成立した場合の処理を行うものである。いくつかの条件が成立する場合でも、最初の処理しか行われないことに注意。上記の血液型に応じた処理と同じ効果を持つ例を示す。実際は、値の内容に応じた処理も、こちらの処理も、「Select」の後ろに書いた式と、各「Case」の後ろに書いた式とが一致すれば処理を行うという意味では同じである。最初のうちは別物と考えたほうが理解し易いであろう。
Select Case True Case Blood="A" --- 処理A --- Case Blood="B" --- 処理B --- Case Blood="O" --- 処理O --- Case Else --- 処理AB --- End Select |
条件分岐は、「If」と「Select」のいずれかを知っていれば工夫して対応することはできる。しかし、構文が複雑になってしまうであろうから、これら双方ともを使えるようになった方が良い。