Excel

【Excel】VBAマクロで偶数かどうかの判定(割り切れるかどうか:倍数判定も)表示をする方法

当サイトでは記事内に広告を含みます。

この記事ではVBAマクロで偶数かどうかの判定(割り切れるかどうか:倍数判定も)判定し、表示をする方法について解説していきます。

ポイントとしては`For`ループ、`Mod`演算子を使用することです。

マクロ初心者でもわかりやすいように、変数名をわかりやすくしています。そのため、ご自身で活用する際には変数名を適切なものに変更してください。

それでは詳しく見ていきましょう!

 

 

VBAマクロで偶数かどうかを判定して隣のセルに結果表示する方法【B列2行目から最終行までループし、C列に結果表示】

それではまず、偶数かどうかを判定して隣のセルに結果表示する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub aaaaaisEvenaaaaa()
    Dim aaaaalastRowaaaaa As Long
    Dim aaaaaiRowaaaaa As Long
    
    '最終行を取得
    aaaaalastRowaaaaa = Cells(Rows.Count, 2).End(xlUp).Row
    
    For aaaaaiRowaaaaa = 2 To aaaaalastRowaaaaa
        '偶数かどうかを判定し、結果を隣のセルに表示
        If Cells(aaaaaiRowaaaaa, 2).Value Mod 2 = 0 Then
            Cells(aaaaaiRowaaaaa, 3).Value = "偶数"
        Else
            Cells(aaaaaiRowaaaaa, 3).Value = "奇数"
        End If
    Next aaaaaiRowaaaaa
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaaisEvenaaaaa関数を実行します。

このコードでは、B列(2列目)にある数値に対してループを使用し、各数値が偶数かどうかを判定します。具体的には、mod関数(あまりを表示)で結果が0(あまりなし→つまり割り切れる)で判定していますね。

偶数の場合は隣のC列に「偶数」と表示し、そうでない場合は「奇数」と表示します。

 

VBAマクロで配列の数値に対して、偶数かどうかを判定して、元の数値と判定結果を入れた配列を新規作成する方法

続いては、配列の数値に対して偶数かどうかを判定し、元の数値と判定結果を入れた配列を新規作成する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub aaaaacreateResultArrayaaaaa()
    Dim aaaaasourceArrayaaaaa As Variant
    Dim aaaaaiArrayaaaaa As Integer
    Dim aaaaarResultArrayaaaaa() As Variant
    
    '元の配列
    aaaaasourceArrayaaaaa = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    ReDim aaaaarResultArrayaaaaa(LBound(aaaaasourceArrayaaaaa) To UBound(aaaaasourceArrayaaaaa), 1 To 2)
    
    For aaaaaiArrayaaaaa = LBound(aaaaasourceArrayaaaaa) To UBound(aaaaasourceArrayaaaaa)


        aaaaarResultArrayaaaaa(aaaaaiArrayaaaaa, 1) = aaaaasourceArrayaaaaa(aaaaaiArrayaaaaa)
        If aaaaasourceArrayaaaaa(aaaaaiArrayaaaaa) Mod 2 = 0 Then
            aaaaarResultArrayaaaaa(aaaaaiArrayaaaaa, 2) = "偶数"
        Else
            aaaaarResultArrayaaaaa(aaaaaiArrayaaaaa, 2) = "奇数"
        End If
    Next aaaaaiArrayaaaaa
    
    '結果を表示
    For aaaaaiArrayaaaaa = LBound(aaaaarResultArrayaaaaa) To UBound(aaaaarResultArrayaaaaa)
        Debug.Print aaaaarResultArrayaaaaa(aaaaaiArrayaaaaa, 1) & " : " & aaaaarResultArrayaaaaa(aaaaaiArrayaaaaa, 2)
    Next aaaaaiArrayaaaaa
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaacreateResultArrayaaaaa関数を実行します。

このコードでは、配列内の各要素に対して偶数かどうかを判定し、その結果を新しい配列に格納します。

この新しい配列は、元の数値とそれが偶数か奇数かの情報(元の数値:偶数か奇数か)の順に記載するものとなっています。

 

VBAマクロで配列の数値に対して7で割り切れるかどうかを判定する方法

最後に、配列の数値に対して7で割り切れるかどうかを判定する方法について解説します。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub aaaaaisDivisibleBySevenaaaaa()
    Dim aaaaasourceArrayaaaaa As Variant
    Dim aaaaaiArrayaaaaa As Integer
    
    '元の配列
    aaaaasourceArrayaaaaa = Array(14, 21, 28, 35, 42, 49, 56, 63, 70, 77)
    
    For aaaaaiArrayaaaaa = LBound(aaaaasourceArrayaaaaa) To UBound(aaaaasourceArrayaaaaa)
        If aaaaasourceArrayaaaaa(aaaaaiArrayaaaaa) Mod 7 = 0 Then
            Debug.Print aaaaasourceArrayaaaaa(aaaaaiArrayaaaaa) & " は7で割り切れます。"
        Else
            Debug.Print aaaaasourceArrayaaaaa(aaaaaiArrayaaaaa) & " は7で割り切れません。"
        End If
    Next aaaaaiArrayaaaaa
End Sub

コードのAlt+F8を押し、マクロ選択画面でaaaaaisDivisibleBySevenaaaaa関数を実行します。

このコードでは、配列内の各数値に対して7で割り切れるかどうかを判定し、その結果を即座に表示します。7で割り切れるかどうかの判定は、`Mod`演算子を使用して行います。【Array, Mod】

 

まとめ VBAマクロで割り切れるかどうか(倍数判定)の判定(偶数か奇数かも)し、表示をする方法

ここでは、VBAマクロで偶数かどうかの判定(割り切れるかどうかも)判定し、表示をする方法について確認しました。

マクロをマスターして、さらに快適な生活を送っていきましょう。