トップ > Excelマクロ > 2-3 条件分岐(IF関数)
                        【今回できるようになること】
                    
                        ・基本的な条件分岐
                        
                    
                    こんにちはー!!
                    今回はプログラミングの3要素の1つ、「条件分岐」を学びます!
                    
                    ちなみに、プログラミングの3要素とは、
                    「順次」・・・プログラムが上から順番に実行されること
                    「反復」・・・前回と前々回で扱った、繰り返しの処理のこと
                    「分岐」・・・今回扱う、条件によって処理を分けること
                    です!
                    
                    今回の内容で、プログラミングの3要素が揃います。
                    それでは始めていきましょう!
                

                    突然ですが質問です。下のような場合、生徒5人×2教科分のテストの合否判定をD列に表示したい場合、あなたならどうしますか?
                    ちなみに、60点以上で合格とします。
                

                    Excel関数の知識があれば、IF関数を使って一発ですね。
                

                    それでは上記に加えて、不合格のセルが分かりやすいように、
                    不合格のセルの背景色だけを「赤色」に変更したい場合、どうすれば良いでしょうか?
                    
                    ExcelのIF関数だけでは、セルの書式を変えることはできませんね。
                    こんなときも、マクロが大活躍します。
                
                    それでは、VBEを開いて標準モジュールを追加し、メモ帳みたいなものの「Option Explicit」以下に、下のコードを書いてみましょう!
                

                    ※コピペ用↓
                
                        Sub Bunki()
                        
                         Dim i As Integer
                        
                         For i = 2 To 11
                        
                          If Cells(i, 3) >= 60 Then '←もしセル(i,3)の値が60以上ならば
                        
                           Cells(i, 4).Value = "合格" '←セル(i,4)に「合格」と表示
                        
                          Else '←もしセル(i,3)の値が60以上でなければ
                        
                           Cells(i, 4).Value = "不合格" '←セル(i,4)に「不合格」と表示
                        
                           Cells(i, 4).Interior.Color = RGB(255, 0, 0) '←セル(i,4)の背景色を赤色にする
                        
                          End If '←条件分岐の終点
                        
                         Next i
                        
                        End Sub
                    
                    これが書けたら、いままで同様、実行ボタンを配置してマクロ(Bunki)を実行してみましょう!
                
                    下のように、合否判定と背景色が更新されたら成功です!
                

                    今回のコードでは、
                    『C列の点数を調べて、もし60点以上なら同じ行のD列に「合格」を記入、60点以上でなければ「不合格」を記入して背景色を変更』
                    という処理を、2行目から11行目にかけて繰り返し実行しています。
                

                    さて、
                    『C列の点数を調べて、もし60点以上なら同じ行のD列に「合格」を記入、60点以上でなければ「不合格」を記入して背景色を変更』
                    の部分ですが、
                    ここで本日のメイン、条件分岐の構文が使われています。
                    
                    条件分岐の構文をざっくり書くと以下のようになります。
                
                        If 条件式 Then
                        
                         条件式が成り立つときに実行する処理
                        
                        Else
                        
                         条件式が成り立たないときに実行する処理
                        
                        End If
                    
                    条件分岐のコードでは、最初に条件式を書き、その条件式が成り立つかどうかで処理が分かれます。
                    
                    条件が成り立つ場合は、「If 条件式 Then」と「Else」の間の処理だけが実行されて、If構文が終了します。
                    反対に、条件が成り立たない場合は、「Else」と「End If」の間の処理だけが実行されて、If構文が終了します。
                    
                    条件分岐の構文について、詳しくは第3章で解説しますので、今回はざっくり理解していただければ大丈夫です。
                

                        【今回のまとめ】
                    
                        ・条件によって処理を分けたいときは、条件分岐の文「If構文」を使う