ITサポーターTsuchida

VBA Basic9

第9章 条件分岐(Select Caseステートメント)

Ifステートメントは2択の条件分岐であるのに対して、Select Caseステートメントは多岐の条件分岐になります。1つの項目の値により分岐が複数に分かれる場合に使われます。

Select Caseステートメントの記述方法は以下のとおりです。

Select Case 検査項目

Case 値1(または範囲、比較条件)

値1に該当したときの処理

Case 値2(または範囲、比較条件)

値2に該当したときの処理

Case Else

全ての値に該当しなかったときの処理

End Select

比較する値の個数は制限があるかは定かではありませんが、かなりの個数の値が比較ができるため、Ifステートメントで記述すると長くなりますが、Select Caseステートメントを使うと短い記述で済みますしにわかりやすくもなります。

前の章のIfステートメントで「優」「良」「可」「不可」の判定をしたものを、Select Caseステートメントで表すと以下のようになります。

Select Case Cells(1, 1).Value

Case Is >= 80

Cells(1, 2).Value = "優"

Case Is >= 70

Cells(1, 2).Value = "良"

Case Is >= 60

Cells(1, 2).Value = "可"

Case Else

Cells(1, 2).Value = "不可"

End Select

このような同じ項目で多岐に分岐する場合は、IfステートメントよりもSelect Caseステートメントの方がわかりやすくなります。 同じ項目で2つの分岐はIfステートメントを使い、同じ項目で3つ以上の分岐はSelect Caseステートメントを使います。

VBAで自動処理をする際には条件判定は必ず使います。条件判定のIfステートメントとSelect Caseステートメントが理解できれば、ほぼ修得したも同然です。 変数と条件分岐が理解できるようになると、プログラミングの幅が広がります。