【Excel VBA】使用例から学ぶ条件分岐【if/elseif/else】

目次

条件分岐の使用例

例として以下のようなエクセルシートがあるとします。

マクロの動作内容は以下のようにすることとします。

  • 入力値
    • B3 セルに手動で整数値を入力します
  • マクロ実行結果
    • 入力値が 5 より小さい場合
      • 結果として「5より小さい」と表示します
    • 入力値が 5 以上で 10 より小さい場合
      • 結果として「5以上で10より小さい」と表示します
    • それ以外の場合
      • 結果として「10以上」と表示します

この内容を実現する VBA コード例は以下の通りです。

Option Explicait

Sub sample()
    Dim number%
    
    'B3 セルの値を変数 number に代入
    number = ActiveSheet.Cells(3, 2).Value
    
    If number < 5 Then
        '入力値が 5 より小さかった場合の処理
        ActiveSheet.Cells(3, 3).Value = "5より小さい"
    
    ElseIf number < 10 Then
        '入力値が 10 より小さかった場合の処理
        ActiveSheet.Cells(3, 3).Value = "5以上で10より小さい"
    
    Else
        'それ以外の場合(10 以上だった場合)の処理
        ActiveSheet.Cells(3, 3).Value = "10以上"
    End If
    
End Sub

このマクロをシート上の図形をクリックしたら実行できるように、図形にマクロを登録しておきます。

このマクロの実行例は以下の通りです。

条件分岐 IF の構文

条件式が 1 つのパターン

If <条件式> Then
    '<条件式> に当てはまる場合の処理

Else
    'どの条件式にも当てはまらなかった場合の処理

End If

条件式が 2 つ以上のパターン

If <条件式1> Then
    '<条件式1> に当てはまる場合の処理

ElseIf <条件式2> Then
    '<条件式2> に当てはまる場合の処理

Else
    'どの条件式にも当てはまらなかった場合の処理

End If

条件式が 3 つ以上の場合は、上の構文の ElseIf <条件式2> Then の部分を増やしていけば OK です。


あわせて読みたい
Excel VBA マクロ作成用情報まとめ 【初学者向け情報】 【Excel VBA】初心者からマクロを作成できるようになるまでの学習ロードマップ 【Excel VBA マクロ独学者・初心者向け】VBA 学習の第一歩【このペー...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

とあるエンジニアです。

当ブログでは Excel VBA のマクロ作成に役立つ情報を中心に情報展開しています。

Excel VBA マクロを使いこなして時短し、人生の質『QOL』を高めていきましょう。

プロフ画像:Copyright (C) SQUARE ENIX CO., LTD. All Rights Reserved.

目次