ifとは!?
Excelの数式を使っている方なら想像はつくでしょうが、そうじゃない方のためにも普通に説明致します。
英語を直訳すると「もし」という意味ですね。
そうです。そのままの意味です。
ifとは「もし」「○○が」「○○ならこうする」「そうじゃなければこうする」という条件によって処理を振り分けるものになります。
こういった条件によって処理を振り分ける事をExcelVBAをはじめとするプログラムでは『条件分岐』といいます。
想像がつきやすいように実際にやってみましょう。
これは「もしA1のセルの値が1なら、B1のセルの値を1にして下さい。ifはここで終わり!」みたいな事です。
先程の画像にコメントを付けると
こんな感じですね。と、ここで前回やったインデントが活きているのがお分かりになるでしょうか?
subの中で処理しているのはifですね。そのifの中で処理しているのはRange(“b1”).Value = 1なので今回のインデントは2段階になっております。
ifの場合は条件にヒットしたら行う処理も1段階インデントするようにしましょう。
ifについての説明ですが『If ”条件” Then』という具合にThenを付けなければ文法が成り立ちません。そしてifを終了する時には『End If』を付けなければなりません(例外はありますが今は割愛します)。
条件にヒットしなかったら??
実際に実行してみるとわかると思いますが、A1のセルに1が入力されていたらB1のセルに1が入って来ます。そしてA1のセルに何も入力されていない、もしくは1以外の数字や文字などが入っていた場合は何も起きません。
これがifをはじめとする条件分岐で最も重要な部分になります。
ifでヒットした場合の処理をインデントして記述してありますよね?ヒットした場合の処理まで入っていく事を「中に入る」と言ったりしますが、これはインデントした中に入っていくからなのです。
要するにここの値がこうじゃない時は何もさせたくないって時やこういう風に動いてほしい。という時に思い通りに動作させる事が出来る様にするのがifをはじめとする条件分岐なのです。
ですが、これだけだと条件にヒットしなかった時に「何もさせない」事しかできませんね?
という事で次回は条件にヒットしなかった時の処理『Else』を学んでいきましょう。