Excel VBA

【Excel VBA入門】値を比較する方法【if文で条件分岐】

本記事の内容

Excel VBAで値を比較して処理を分岐する方法をご紹介

→ if文を使って分岐

 

こんな方におすすめ
  • ExcelでVBAマクロを作成してみたいが手順が分からない方
  • VBAマクロで値による処理の分岐を実現したい方
  • VBA初心者の方

 

if文とは?構文は?

if文とは、

条件を満たしたときに処理を分岐させるための構文

です。

 

構文は下記の通りです。

<一つの条件を満たした時のみ処理>

if 条件式 Then

  処理内容

End if

 

<一つの条件を満たした時と満たしてない時で処理を振り分ける>

if 条件式 Then

  処理内容1

Else

処理内容2

End if

<複数の条件で処理を振り分ける>

if 条件式1 Then

  処理内容1

ElseIf 条件式2 Then

処理内容2

Else

  処理内容3

End if

 

条件式一覧

条件式で使用できる記号(演算子)は下記の通りです。

演算子説明結果
<より小さい3 < 2TRUE
<=以下3 <= 3TRUE
>より大きい8 > 7TRUE
>=以上8 >= 8TRUE
=等しい8 = 8TRUE
<>等しくない7 <> 8TRUE

 

例1 : 値を比較して処理を分岐

値を比較して処理を分岐する処理は下記の通りとなります。

<ソースコード>

Sub sample()

    '整数型の変数を定義
    Dim num1 As Long
    Dim num2 As Long
    
    '比較する値を変数に代入
    num1 = 1
    num2 = 10
    
    'num1(1)と5を比較
    Debug.Print "num1(1)" & " < " & 5 & "の結果は"
    If num1 < 5 Then
        '1 < 5なのでこちらが処理される
        Debug.Print "TRUE"
    Else
        Debug.Print "FALSE"
    End If
    
    'num2(10)と5を比較
    Debug.Print "num2(10)" & " < " & 5 & "の結果は"
    If num2 < 5 Then
        Debug.Print "TRUE"
    Else
        '1 < 5なのでこちらが処理される
        Debug.Print "FALSE"
    End If
    
End Sub

 

<処理結果>

値を比較して処理を分岐

 

例2 : 複数の条件で処理を分岐

複数の条件で処理を分岐する処理は下記の通りとなります。

<ソースコード>

Sub sample()
    '整数型の変数を定義
    Dim num1 As Long
    Dim num2 As Long
    
    '比較する値を変数に代入
    num1 = 1
    num2 = 10

    'num1(1)の値を比較
    If num1 < 0 Then
        Debug.Print "num1は0未満です"
    ElseIf num1 < 5 Then
        Debug.Print "num1は5未満です"
    ElseIf num1 < 10 Then
        Debug.Print "num1は10未満です"
    Else
        Debug.Print "num1は10以上です"
    End If

    'num2(10)の値を比較
    If num2 < 0 Then
        Debug.Print "num2は0未満です"
    ElseIf num2 < 5 Then
        Debug.Print "num2は5未満です"
    ElseIf num2 < 10 Then
        Debug.Print "num2は10未満です"
    Else
        Debug.Print "num2は10以上です"
    End If
    
End Sub

 

<処理結果>

複数の条件で処理を分岐

 

以上がif文で値を比較する方法となります。

ここまでご覧いただきありがとうございました。

 

初心者におすすめの書籍はこちら

 

VBAに詳しくなりたい方におすすめの書籍はこちら

 

 

ABOUT ME
かめぞう
かめぞう
はじめまして。 かめぞうです。ソフトウェア開発会社に勤務する現役エンジニアです。私がエンジニアを続ける中で得た学び、考えを発信しています。リクエストや改善要望など、お気づきの点があればお気軽にご連絡ください。