条件分岐とは
今回の目標
説明
本章の題材である条件分岐はExcelVBAを使用するに当たって必須です。
まずは、条件分岐とは何かを学んでみましょう。
まずは、条件分岐とは何かを学んでみましょう。
条件分岐とは
『一定条件下でどのような処理をするか』です。例えば、「セルA1(テストの点数)が30未満なら"赤点"と入力する」です。要するに「~なら~する」といったことをしたい時に使用します。
図にすると下の通りになります。なお、下図の矢印でプログラムの動きを書いたものをフローチャートと呼びます。
ExcelVBAの条件分岐
ExcelVBAでは、主に2種類の構文による分岐があります。マイナーですが、もう1種類覚えておけば問題ないでしょう。 各項目の詳細については次章より説明します。
- If構文・・・使用頻度が高く、マクロを作成する場合は必須です。
- Select構文・・・使用することがあります。
- 三項演算子・・・マイナーです。可読性(読みやすさ)が低下するため使用禁止になることも。
コラム
このコラムは他のプログラミング(スクリプト)言語を勉強したことがある方のみ、お読みください。
ExcelVBAにはSwitch構文はなく、代わりにパワーアップ(?)したSelect構文が存在します。このSelect構文は文字列や数値の範囲のチェックも可能ですが、使用されているところをあまり見ません。
筆者も使用しておらず、変数の数値の比較時に「Ifは固定値や範囲でチェック可能」、「Switchは固定値のみチェック可能」と認識しているためです。
SwitchからSelectとなり、便利になったといっても、いまいちSelectで範囲指定することには抵抗があります。(Switch構文自体、使用する場面が限られている気がしますし。)
余談ですが、Switch関数なるものがあります。マイナーな関数であまり使われないようです。