Excel VBA 数値データを扱う際に偶数と奇数を判定して分類する方法

 

ExcelVBA  数値データを扱う際、偶数・奇数を判定。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

📌 「これ、自動化できたらラクなのに…」と思ったこと、ありませんか?
実はその作業、Excelマクロで簡単に自動化できるかもしれません。
「でもマクロって難しそう…」という方のために、完全初心者向けの入門記事をご用意しました!

👇実務で“そのまま使える”テンプレ付きで、コピペするだけ
初心者向けエクセルマクロの作り方を解説|コピペOK実務テンプレ付き

 

Excel VBA 偶数・奇数を判定|シーン

以下のシーンで利用します。

1.リスト内の数値を偶数・奇数で分類する。

2.特定の計算やフィルタリングを偶数・奇数で分けて行う。

3.奇数と偶数でセルの色を変える。

 

Excel VBA 偶数・奇数を判定サンプルコード

偶数・奇数の基本判定

標準モジュール(Mod(剰余演算子)を使用する)

Option Explicit

Sub 偶数奇数判定()
    Dim num As Integer
    num = 7 ' 判定する数値を設定
    
    If num Mod 2 = 0 Then
        MsgBox num & " は偶数です", vbInformation
    Else
        MsgBox num & " は奇数です", vbInformation
    End If
End Sub

Mod 2 = 0 なら偶数、Mod 2 = 1 なら奇数と判定

 

自分の実力を客観的にチェックしたい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集をご用意しました。

👉無料ExcelVBAベーシック選択問題138問

 

指定範囲の偶数・奇数を判定し、色付け

標準モジュール(セルの値を判定し、偶数は青、奇数は赤にする)

Option Explicit

Sub 偶数奇数色付け()
    Dim ws As Worksheet
    Dim rng As Range
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート

    For Each rng In ws.Range("A1:A10") ' A1:A10の範囲で判定
        If IsNumeric(rng.Value) Then ' 数値の場合のみ判定
            If rng.Value Mod 2 = 0 Then
                rng.Interior.Color = RGB(173, 216, 230) ' 偶数は水色
            Else
                rng.Interior.Color = RGB(255, 182, 193) ' 奇数はピンク
            End If
        End If
    Next rng
    
    MsgBox "偶数・奇数の判定と色付けが完了しました!", vbInformation
End Sub

IsNumeric を使い、数値以外は判定しないようにする

奇数のみ削除

標準モジュール(リスト内の奇数のセルをクリア)

Option Explicit

Sub 奇数を削除()
    Dim ws As Worksheet
    Dim rng As Range
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート

    For Each rng In ws.Range("A1:A10") ' A1:A10を判定
        If IsNumeric(rng.Value) And rng.Value Mod 2 <> 0 Then
            rng.ClearContents ' 奇数のセルを削除(値のみ消す)
        End If
    Next rng

    MsgBox "奇数のデータを削除しました!", vbInformation
End Sub

ClearContents はセルの値のみ削除する(書式は残ります)

 

Excel VBA 偶数・奇数を判定|まとめ

処理 使用VBA関数・メソッド 目的
偶数・奇数判定 Mod 指定した数値が偶数か奇数かを判定
セルの色付け Mod + Interior.Color 偶数と奇数でセルの色を変更
奇数の削除 Mod + ClearContents 奇数のデータを削除

 

Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。

👉無料ExcelVBAベーシック選択問題138問