よく使うステートメント

【If ~ Then】 条件によって処理が分かれるとき

 生活の中でも「明日晴れたら外出、雨なら家で読書しよう」といった、条件によってやることが分かれることはよくあります。

こうした条件による処理の分岐はプログラミングでもよく行われます。

If ~ Then

条件と言っても「二者択一」もあれば、「複数条件」の場合もあります。

各ケースの場合についてお話しします。

条件(二者択一)を満たすときの処理

ある条件を満たすとき、与えられた命令を実行させるステートメントです。

条件分岐の中で最も基本的なステートメントになります。

Sub 粗利益計算1()
 If Range(“E5”).Value => 200000 Then
  Range(“E5”).Interior.Colorindex=6
 End If
End Sub

これは
E5 の粗利益の金額が 20万円以上の場合は E5 のセルを黄色にしなさい。
という命令文(粗利益計算1)になります。

E5 の粗利益金額が20万円に満たないときは色の変化は起こりません。

もう一つの二者択一
上記のように20万円に満たないときは「何もしない」のではなく、「満たないときはセルを青にします」という条件の場合の処理です。

すなわち20万円以上の時はセルを黄色に、満たない場合は青にするという条件の場合は次のようになります。

Sub 粗利益計算2()
 If Range(“E5”).Value => 200000 then
  Range(“E5”).Interior.ColorIndex=6
 Else
  Range(“E5”).Interior.ColorIndex=34
 End If
End Sub
この Else を使ったステートメントもよく使われます。

複数の条件での処理

条件が複数あり、それぞれで異なる処理を行う場合は、ElseIf を使用して複数条件を指定し、処理を分岐させます。

 

Sub 営業ランク()
 Dim P as Integer

 P = Range(“D16”).Value  ‘①

 If P>400 then  ‘②
  Range(“E16″)=”Aランク” ‘③
  P>300 and P=<400 Then
  Range(“E16”) = “Bランク”
 ElseIf P>200 and P=<300 then
  Range(“E16”) = “Cランク”
 Else 
 ‘④
  Range(“E16”) = “Dランク”
 End If
End Sub

 

① 新規顧客獲得合計数をPに代入
② 
Pが400を超えた場合
③ 
セル E16 に「Aランク」と表示する
④ 
上記条件以外(Pが200以下の場合)

このように条件が複数にわたる場合の処理は最初は If で始まりますが、それ以降の条件は ElseIf を使用します。

この 「If ~ Then」あるいは「If ~ Then ElseIf」は非常に使用頻度の高いステートメントの一つです。

扱いには慣れておく必要のある大切なステートメントです。