
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ベーシック選択問題集をご用意しました。
指定範囲の偶数・奇数を判定し、色付け
標準モジュール(セルの値を判定し、偶数は青、奇数は赤にする)
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で自動化するコードのベースが習得できる解説書」
Excel VBAエキスパートベーシックとスタンダード、どちらを選べばいいか判断が難しい…。そんな方のために、自分に合ったスタート地点がわかる無料のExcelVBAベーシック選択問題集を用意しました。