前回は条件分岐についてということで、Ifステートメントをご紹介させてもらいました。今回は、条件分岐の違う書き方の「Select Caseステートメント」を紹介していきたいと思います
Select Caseステートメントについて
Select Caseステートメントは下記のような構文となります。
Sub test() ‘testプロシージャ開始
Dim num As Long ‘整数Long型のnum変数宣言
num=Range(“B3”).Value ‘変数numに【B3】のセルの値を代入
Select Case num ‘変数numに対する分岐スタート
Case 1 ‘numが1の場合
MsgBox”セルの色は変わりません” ‘メッセージボックス表示
Case 2 ‘num1が2の場合
Range(“A3”).Interior.Color=RGB(0,176,240) ‘【A3】のセルの塗りつぶしを水色にする
Case 3
Range(“A3”).Interior.Color=RGB(146,208,80) ‘【A3】のセルの塗りつぶしを黄緑にする
Case 4
Range(“A3”).Interior.Color=RGB(255,255,0) ‘【A3】のセルの塗りつぶしを黄色にする
Case Else ‘それ以外の場合
MsgBox”数が一致しません” ‘メッセージボックス表示
End Select ‘Select Caseステートメント終わり
End Sub
IfとSelect Caseの違い / 使い分け方
Ifステートメントと、Select Caseステートメントついて基本の使い方として紹介させていただきました。
「同じ機能なら1つ覚えればいいの?」「実際どっちを使えばいいの?」と気になると思いますので、
どう使い分けたらいいのかを参考にお伝えします。
Ifステートメント特徴
- 複雑な条件式の時に向いている
- 複数条件の分岐が出来る(AかつBの場合)
- 直観的にコードを書きやすい
Select Caseステートメント特徴
- シンプルな記述が出来る(読みやすい)
- 条件分けが多い時に向いている(Aの場合、Bの場合、Cの場合、Dの場合…)
- 複数条件の分岐が出来ない(AかつB書き方なし)

「この場合はかならずIfステートメントを使うべき!」等強制はありません。
Ifの時は条件がちょいと複雑な時、単純な場合はSelect Caseで何となく使い分けしててみてください
演算子の使い方
プログラム内での足し算や掛け算、比較の際の記述の仕方を説明していきます。
算術演算子について
算術演算子は、足し算や引き算等数値の計算を行う際に使用します。
説明 | 演算子 | 例 | 結果 |
---|---|---|---|
足し算 | + | 2+3 | 5 |
引き算 | – | 9-2 | 7 |
掛け算 | * | 2*2 | 4 |
割り算 | / | 9/4 | 2.25 |
割り算の商 | \ | 9\4 | 2 |
割り算の余り | Mod | 9Mod4 | 1 |
べき乗 | ^ | 2^3 | 8 |
使用例
こんな感じで利用しますという事で紹介していきます
- Range(“C1”).Value = Range(“A1”).Value + Range(“B2”).Value
- MsgBox 10 – 2
- num = 5 * 2 + 2
- x = Range(“A1”).Value / 2
比較演算子について
比較演算子は、名前の通り値と値を比較して「AよりBが大きい」「BはA以下」等の計算の時に使用します。
比較演算子の結果は数字の値ではなく、合っているか(True)、間違っているか(False)を返します。
これはBoolean(ブール型)のデータ型になります。
説明 | 演算子 | 例 | 結果 |
---|---|---|---|
等しい | = | 3=3 | True |
等しくない | <> | 9<>9 | False |
大きい | > | 1>5 | False |
小さい | < | 9<10 | True |
以上 | >= | 3>=5 | False |
以下 | <= | 3<=5 | True |
使用例
- if Range(“C1”).Value < Range(“A1”).Value then
- num1 >= num2
- num1 <> 5
- MsgBox num1 > 5
論理演算子について
論理演算子は、「AかつB」や「AまたはB」等複数条件を繋ぐ時に利用するものです。これも結果はブール型でTrueかFalseで値が返ってきます。注意点としては、Select Caseで使えないので論理演算子を使用したい時はIfステートメントを使ってください。
説明 | 演算子 | 例 | 結果 |
---|---|---|---|
論理積 | And | 10>5 And 3<4 | True |
論理和 | Or | 10>5 Or 3>4 | True |
論理否 | Not | Not 2>5 | True |
使用例
- If Range(“A1”).Value = Range(“A2”).Value And Range(“A3”).Value Then
- If Not num =4 Then
今回はSelect Caseステートメントの使い方と、IfとSelect Caseステートメントの使い分け、演算子について解説させていただきました 最後まで読んでいただきありがとうございます