「vba if (x % 2 == 0) { printf("偶数");}」
という検索キーワードに気づきました。
C系列の言語をご存知で、VBAがはじめてという方でしょう。
VBAで、変数xを2で割り算したあまりが「0」だったときに、「偶数」と出力するにはどのように書けばいいのかを探していらした方による検索です。
偶数判定を行うサンプルマクロ
以下のSubプロシージャを実行すると、インプットボックスが表示され、整数を入力すると「偶数です。」「偶数ではありません。」というメッセージボックスが表示されます。
Dim x As Long
x = InputBox("整数を入力してください。")
If x Mod 2 = 0 ThenMsgBox "偶数です。"
Else
MsgBox "偶数ではありません。"
End If
End Sub
C系列の言語で、割り算のあまりを計算する剰余演算子は「%」ですが、
if (x % 2 == 0)
VBAの場合は「Mod」です。
If x Mod 2 = 0 Then
C系列の言語で、左辺と右辺が等しいかを比較する演算子は「==」などですが、
if (x % 2 == 0)
VBAの場合は「=」です。
If x Mod 2 = 0 Then
C系列の言語で、ステートメントの最後は「}」ですが、VBAで複数行のIf文を書く場合は明確に、
If x Mod 2 = 0 Then
Else
End If
と「End If」を書きます。
セルに入力された値が偶数かを判定するサンプルマクロ
セルに入力されている数値で判定を行い、結果を隣のセルに表示するなら、以下のようなSubプロシージャです。
Dim x As Long
x = Range("A1").Value
If x Mod 2 = 0 ThenRange("B1").Value = "偶数です。"
Else
Range("B1").Value = "偶数ではありません。"
End If
End Sub
- Newer:テーブル・ListObjectの開始セルを取得する
- Older:条件付き書式設定済みのセルを目立たせるExcelマクロ
Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAで if (x % 2 == 0) { printf("偶数");} は?