条件分岐文の説明

この条件分岐文とこの後説明致します繰り返し文を理解して頂けなければ今後のマクロを組むことはできませんので必ず理解頂きますようお願いします。
条件分岐文とは例えば、「今日雨が降れば(条件式)、外出しない(実行文)、もし天気が良ければ(条件式)、外出する(実行文)」のように条件に よって実行することを分岐させます。
分岐のさせ方には、大きく3通りの方法があります。
1.「もし(If)条件式を満たしたならば(Then)、実行文を実行しなさい(End If)。」(条件式を満たさなければなにも行わない)。
 If  条件式 Then
   実行文
  End If

2.「もし条件式を満たしたら、実行文1を実行しなさい。そ れ以外ならば(Else)、実行文2を実行しなさい。」
 If 条件式 Then
   実行文1
 Else
   実行文2
 End If

3.「もし条件式1を満たしたら実行文1を実行、もし条件式1 が満たされなければ(ElseIf)条件式 2を満たすかどうか確認します。
条件式2を満たしたら実行文2を実行させます。もし条件式2を満たさなければ・・・・・・・・・
このように何段階もの条件式、実行文を組み合わせることができます。
プログラムは、上から書かれている順番に実行されて行きますので、途中で条件が合致すればこのプログラムは終了します。

 If 条件式1 Then
   実行文1
 ElseIf 条件式2 Then
   実行文2
 ElseIf 条件式3 Then
   実行文3

      ・
    ・
    ・
    ・
 End If

 条件分岐文は、始めの「If」と終りの「End If」が常に対で使用されなければなりません。
では、サンプルの事例を作ってみましょう。
「もしセル(3, 4)の値が「1」ならばセル(4, 4)に「りんご」と書込むみなさい。」とプログラムしてみましょう。
エクセルシートに前回の例題で書き込まれた「名前」を消し、起動ボタンのプロシージャに書いているプログラムも消して次のように書き込みましょう。
(【参考】プロシージャの表示の仕方:現在エクセルの画面が表示されていれば、再度「起動ボタン」を右クリックしてメニューの「コードの登録」→マクロの 登録 画面の「編集」をクリックすると、起動ボタンのプロシージャを再表示することができます。)
分岐1
ここでプログラムを書く上でプログラ ム中で日本語(りんご)を使用していますので、日本語の前後をダブルクオテーション(")で 囲わなければなりません。
上のプログラムを見て「If ・・・」と「End If」の行の開始位置は同じで、その間の実行文「Cells(・・・)」の開始の位置を 1段下げていますが、段を付けないとプログラムの働きに影響があるのかというとプログラムの働きに は何の影響も有りません。
この段下げは条件文(「If」と「End If」の対)と実行文との区分が分かり易いように一段下げているだけです。
ここではまだプログ ラムが短くて気にはならないかもしれませんが、今後長文となった場合にプログラムを見やすくするためです。
この段下げはキーボードの「Tab」キーを押と一定量の段下げを行えますので、 「Tab」キーを使用し段下げを行います。
(スペースキーで行った場合、段下げ量がマチマチとなり、むしろ見難くなりますので要注意です。)
セル(3、4)に「1」を書込み、「起動ボタン」をクリックしましょう。セル(4,4)に「りんご」と表示されたでしょう。
図02
では、「りんご」表示を消して、セル(3、4)の数値を「1」以外の数値に書き替えて、起動ボタンをクリックして見てください。セル(4,4)には何も表 示されません。
では、「1」以外(Else)であれば、セル(4,4)に「1以外の数値です。」と 表示させるプログラムに書き替えてみましょう。
「Else」を使用し下記のように書き換えて下さい。
図3
セル(3, 4)に「1」を書込み、起動ボタンをクリックして見てください。セル(4, 4)に「りんご」が表示されます。
次にセル(3, 4)に「1」以外の数値を書込んで試してみて下さい。「1以外の数値です。」と表示されましたよね。
zu
ついでに一つ遊びを入れましょう。
&」(アンド)で文字を連結することができます。
例として次のように追加してみましょう。図6このようにプログラム中にエクセルシートのデータを読込み連結文で表示させることが できます。
ダブルクオーテーションマークを忘れずに書いてください。図3
「1」以外の数値を書き込んで見てください。下図のような表記となっているかと思います。図7
では、分岐をもう少し増やしてみましょう。
セル(3,4)の値が、「1」ならば「りんご」、「2」ならば「ぶどう」、「3」ならば「梨」、それ以外であれば「指定なし」とプログラムしましょう。
下記のようになります。
図5
セル(3,4)の値をいろいろ変えてみて試してみて下さい。
プログラムの動きは、上から順番に動作します。
セル(3,4)の値が「1」か最初に確認します。「1」であれば「りんご」を表示してプログラムは終了します。
「1」でなければ、次に「2」か確認します。「2」であれば「ぶどう」と表示したところで終了です。
「2」でなければ、次に「3」か確認します。「3」であれば「梨」と表示して終了です。
「3」でなければ、「それ以外」なので、「指定なし」を表示して終了します。
以上が、条件分岐文のルールです。
今後の説明では下記のように第一段階の条件分岐文の中に更に第二条件分岐文を書くことを多用して行きますのでチョット複雑になるかと思います。
If  条件文1 Then
    If 条件文1-1   Then
        実行文1-1
    Else If 条件文1-2 Then
        実行文1-2
    End If
Else If   条件文2 Then
   実行文2
End If
例えば「条件文1:天気がよければ」、
    更に「条件文1-1:お金があれば」、
        「実行文1-1:遊園地に行きます」、
    「条件文1-2:お金がなければ」、
        「実行文1-2:公園に行きます」、
「条件文2:天気が悪ければ」
    「実行文2:家に居ます」
というような働きをします。


ここでは条件文に「=」の等号式を使用しましたが、その他に次の演算子も使用が可能です。
「>」   :より大きい
「>=」:以上
「<」   :より小さい
「<=」:以下
「<>」:等しくない
「""」   :空白(何も書き込まれていない)
あと左辺の文字列と右辺の文字列の一致の状況を確認する「Like」と言うのがありますがチョット特殊なのでここでは省略します。
一般的に使用される論理演算子の使用について:
「And」:条件1と条件2が同時に成り立つ場合
    If A=B And C=D Then
「Or」:どちらか一方の条件が成立する場合
    If A=B Or C=D Then
などを使用し、条件文を作成します。
以上条件分岐文の説明を行ってきました。

次に繰返し文の説明を行います。

次ページ(繰返し文の説明)


サイドバータイトル
inserted by FC2 system