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
かめぞう
はじめまして。 かめぞうです。組込ソフトウェア開発会社に勤務する現役エンジニアをしています。私が買ってよかったもの、人生設計、サラリーマン生活についてなど、テーマを絞らず発信しています。リクエストや改善要望など、お気軽にご連絡ください。