
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エキスパート」をご確認ください。