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

 

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

 

2025年の目標は繰り返し作業に悩まされない年にしませんか? Excel VBAを活用した効率化がその第一歩
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

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

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

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

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

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

 

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

Excel VBAで効率化の準備をしてみませんか?2025年をよりスムーズに過ごすための資格
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

偶数・奇数の基本判定

標準モジュール(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 なら奇数と判定

 

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

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

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で自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。