オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】Select Caseステートメント ~条件分岐~ (VBA入門20)

 

Select Caseステートメント

Select Caseステートメントでは、複数の条件によって処理を分岐させることができます。

Ifステートメントは条件の分岐が少ない場合に使います。Ifステートメントでも複数の条件分岐も可能ですが、可読性が落ちるため、Select Caseステートメントを使います。

基準となる値もしくは変数の値により、複数の処理に振り分けるときにSelect Caseステートメントを使います。

 

Select Caseステートメントの書き方

Select Caseステートメントは、以下のように記述します。

Select Case 変数もしくは基準となる値
 Case 条件1
  処理1
 Case 条件2
  処理2
 Case Else
  どの条件にあてはまらなかった場合の処理3
End Select

 

変数もしくは基準となる値が条件1に合致する場合は、処理1を実行します。
変数もしくは基準となる値が条件2に合致する場合は、処理2を実行します。
変数もしくは基準となる値が条件1が条件1・条件2に合致しない場合は、処理3を実行します。

 

条件は以下のように記述します。

f:id:auroralights:20201215221827p:plain

 

Select Caseステートメントのサンプルコード

以下のコードでは、セルD3の値によって評価S、A、B、Cを返すようにしています。

f:id:auroralights:20201215222857p:plain

f:id:auroralights:20201215223958p:plain

 

上記のサンプルコードをIfステートメントで記述すると以下のようになります。

このくらいだとIFとSelect Caseでそこまで違いはないですが、Ifの方が文字が多く、Select Caseの方がスッキリしていて読みやすいことが分かります。

f:id:auroralights:20201215223318p:plain