【VBA】IF文のネストの使い方【複数の条件分岐・処理を行う】

VBA

複数のIF文を使うことで、さらに「条件」と「処理」を設けることができるようになります。

なので、より詳細な判定や処理ができるようになります。

 

しかし、ネストが深くなればなるほど理解に苦しむコードになってしまうので、使いすぎず、避けるに越したことはないテクニックだということも覚えておきましょう。

ちなみにIF文がイマイチの方は『IF文の使い方』から目を通してみてください。

 

では、さっそくIF文のネストについて解説していきます。

スポンサーリンク



IF文のネストの記述方法

ここでは「IF文にIF文をネストする書式」「ざっくりとした参考コード」の解説をします。

IF文のネストの書式

まずはIF文の中にIF文をネストさせる時の書式を説明します。

例えば、IF文のTrue処理の範囲に2つ目のIF文をネストする書式は下の通りです。

上のようにIF文をIF文でネストすると1つ目のIF文の処理内でさらに条件と処理を設けることができるようになります。

 

IF文のネストの参考コード

次に簡単な複数(2つ)のIF文を使ったコードを実行してみます。

下は1つ目のIF文の条件がFalseだった場合の処理範囲にIF文をネストさせたコードです。

 

そして、下ではFOR文の中に2つのIF文をネストさせています。

コレにより、全てのIF文の処理を満遍なく通るようにしています。

 

上のコードでは変数iの値によって処理内容を分岐するという内容になっています。

そして、その変数iは1、2、3と増えていくという流れになっています。

そのIF文の処理内容は下の結果のように変数iに合わせて”変数iは「〇」です”とイミディエイトウィンドウに表示されるようにしています。

 

IF文のネストの実践コード

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

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

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

そして、下は点数が80以上の場合は”A”、80未満で60以上なら”B”、それ以外(60未満)なら”C”を列Eに表示するというコードになっています。

 

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

 

このようにIF文の中にIF文を1つネストさせるだけでも、条件と処理が1つずつ増やすことができます。

それによって、さらに詳細な処理を行うことができるようになります。

注意基本的にIF文はもちろん、FOR文などでもネスト数を増やしていくことでコードの可読性が落ちます

なので、状況によってはもう1つの条件分岐であるSelect Case文を使ったり、複数の値の判定なら『コレクション』などを使うことを検討してみるとよいかもしれません。

 

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

1位

2位

3位

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

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

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

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

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

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

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

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

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

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

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク