条件分岐とは

今回の目標

  • 条件分岐とは何かを理解する
  • 説明

    本章の題材である条件分岐はExcelVBAを使用するに当たって必須です。
    まずは、条件分岐とは何かを学んでみましょう。

    条件分岐とは

    『一定条件下でどのような処理をするか』です。例えば、「セルA1(テストの点数)が30未満なら"赤点"と入力する」です。要するに「~なら~する」といったことをしたい時に使用します。
    図にすると下の通りになります。なお、下図の矢印でプログラムの動きを書いたものをフローチャートと呼びます。 条件分岐のフローチャート

    ExcelVBAの条件分岐

    ExcelVBAでは、主に2種類の構文による分岐があります。マイナーですが、もう1種類覚えておけば問題ないでしょう。 各項目の詳細については次章より説明します。

    • If構文・・・使用頻度が高く、マクロを作成する場合は必須です。
    • Select構文・・・使用することがあります。
    • 三項演算子・・・マイナーです。可読性(読みやすさ)が低下するため使用禁止になることも。
    コラム

    このコラムは他のプログラミング(スクリプト)言語を勉強したことがある方のみ、お読みください。
    ExcelVBAにはSwitch構文はなく、代わりにパワーアップ(?)したSelect構文が存在します。このSelect構文は文字列や数値の範囲のチェックも可能ですが、使用されているところをあまり見ません。
    筆者も使用しておらず、変数の数値の比較時に「Ifは固定値や範囲でチェック可能」、「Switchは固定値のみチェック可能」と認識しているためです。
    SwitchからSelectとなり、便利になったといっても、いまいちSelectで範囲指定することには抵抗があります。(Switch構文自体、使用する場面が限られている気がしますし。)
    余談ですが、Switch関数なるものがあります。マイナーな関数であまり使われないようです。

    確認テスト

    次の問いに答えなさい。

    1. 条件分岐とは次のどれに最も該当するか。
      1. 処理を繰り返す。
      2. 一定条件下の場合の処理を行う。
      3. 処理を終了させる。
    解答1

    関連リンク

    次ページ:比較と真偽

    前ページ:変数について

    ページの先頭へ