Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAで if (x % 2 == 0) { printf("偶数");} は?

VBAで if (x % 2 == 0) { printf("偶数");} は?

対象:Excel2010, Excel2013, Windows版Excel2016

「vba if (x % 2 == 0) { printf("偶数");}」
という検索キーワードに気づきました。

C系列の言語をご存知で、VBAがはじめてという方でしょう。

VBAで、変数xを2で割り算したあまりが「0」だったときに、「偶数」と出力するにはどのように書けばいいのかを探していらした方による検索です。

[スポンサードリンク]

偶数判定を行うサンプルマクロ

以下のSubプロシージャを実行すると、インプットボックスが表示され、整数を入力すると「偶数です。」「偶数ではありません。」というメッセージボックスが表示されます。

Sub 偶数判定を行う()
 Dim x As Long

 x = InputBox("整数を入力してください。")

 If x Mod 2 = 0 Then
  MsgBox "偶数です。"
 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プロシージャです。

Sub A1セルに入力された数値が偶数か判定する()
 Dim x As Long

 x = Range("A1").Value

 If x Mod 2 = 0 Then
  Range("B1").Value = "偶数です。"
 Else
  Range("B1").Value = "偶数ではありません。"
 End If
End Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 条件分岐 » VBAで if (x % 2 == 0) { printf("偶数");} は?

「条件分岐」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.