【VBA】IF文の使い方【数値・文字列を比較して条件分岐する】

VBA

IF文とは“条件を設定して「満たしている」と「満たしていない」ときに処理を分岐する”ためのステートメントです。

 

少し実用性のあるシステムを作ろうと思えば、必ずここで紹介するIF文を使うことになります。

なので、ぜひ、IF文を覚えていってください。

スポンサーリンク



IF文の記述方法

ここでは「IF文の記述の仕方」「ざっくりとした参考コード」について解説していきます。

IF文の書式

IF文の記述の仕方は下のとおりです。

IF文は上のように条件を満たすかどうかで処理を分岐します。

条件はboolean型なので、『条件』部分には「True(条件を満たす)」「False(条件を満たさない)」の2つが戻り値になる数式などを記載する必要があります。

 

そして、条件を満した場合は上でいうところの『処理1』、条件を満たさない場合は『処理2』の片方の処理を行うという流れになります。

 

IF文の参考コード

たぶん、上の『IF文の書式』だけでは理解できない方もいるかと思います。

なので、下に実際にIF文を使った簡単なコードを貼るので確認してみてください。

上のコードの結果は「”変数iは2以上です”」が表示されます。

 

次にざっくり上のコードの説明は下のようになります。

4行目:変数iに3を代入

6行目:「変数iが2以上かどうか」を条件に指定

7行目:「変数が2以上」だった場合に、イミディエイトに”変数iは2以上です”と表示する処理

9行目:「変数が2以上」でなかった場合に、イミディエイトに”変数iは2未満です”と表示する処理

 

IF文はFOR文と組み合わせて使うことが多い

また、IF文はFOR文と組み合わせて使用されることが多いです。

例えば、上のコードにFOR文を組み込むとしたら下のようになります。

上のコードではFOR文で変数iを1~3に変動させています。

その変動させた変数iの値が2以上かどうかによって処理を分岐させています。

 

上のコードを実行した結果が下のようになります。

変数iは1回目は”1”なので、条件である「2以上かどうか」を満たさないので、”変数iは2未満です”と表示されます。

ですが、2回目以降は変数iが”2以上”になるので、”変数iは2以上です”がイミディエイトに表示されます。

 

IF文の実践コード

では、IF文を実際のエクセルシート内のセルに使ってみます。

例えば、下の表に対して試してみます。

上の表では一人ひとりに点数を設定しています。

そして、点数が80以上の場合は”A”、80未満の場合は”B”を列Eに表示するというコードを書いてみます。

 

3行目:「3行目の4列目(D3)の値が80以上かどうか」という条件を設定

4行目:条件を満たした場合は、3行目の5列目(E3)に”A”を表示

6行目:条件を満たしていない場合は、3行目の5列目(E3)に”B”を表示

 

そして、上のコードを実行すると下のようになります。

判定対象であるセルD3の値が80以上だったので、評価列であるセルE3には”A”が表示されました。

 

FOR文を組み合わせた場合

上の表のE列全てを埋めるためにFOR文と組み合わせると下のようなコードになります。

 

そして、上のコードを実行すると下のような結果になります。

今回のコードではFOR文で変数iを3から7まで繰り返すようにしました。

これにより、3行目から7行目まで処理を繰り返し、同時にIF文の条件分岐も行えています。

 

ちなみにIF文について、より深く理解したい方は下の記事も目を通してみてください。

【VBA】IF文のネストの使い方【複数の条件分岐・処理を行う】
複数のIF文を使うことで、さらに「条件」と「処理」を設けることができるようになります。 なので、より詳細な判定や処理ができるようになります。 しかし、ネストが深くなればなるほど理解に苦しむコードになってしまうので、使いす...
【VBA】IF文と論理演算子を組み合わせる【複数条件を指定する】
本来のIF文は1つにつき1つの条件を指定します。 ですが、時には処理分岐の内容は同じでも、条件が複数ほしいときがあります。 そんなときには論理演算子である『AND』や『OR』といったモノを用いると、同時に複数の条件で判定...

 

〇おすすめのVBA参考書ランキング!

1位

2位

3位

Excel VBA 脱初心者のための集中講座パーフェクトExcel VBAExcelVBA 実戦のための技術
初心者~中級者中級者初心者~中級者
【初心者が手に取るべき参考書】

・「書籍+動画」で圧倒的に理解しやすい入門書になっている。

・丁寧で詳しい解説でボリューム感がある。

【より深い理解をしたい方にお勧めな参考書】

・テーマに対して丁寧な解説・適度な深さで解説されている。

・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。

【入門書と一緒に買うべき参考書】

・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。

・実践的で効果的なコードの書き方が理解できる。

【読んでみた一言】
正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。
【読んでみた一言】
深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。
【読んでみた一言】
基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク