当サイトではアフィリエイトプログラムを利用して商品を紹介しています。

【VBA】数値の符号を判定するサブルーチン

VBA 数学マクロ入門講座の9回目の記事です。
前回登場した If…Then…Elseステートメントをもう少し詳しく解説します。

入力された数値の正負を判定します

ダイアログボックスで入力された数値の符号を判定するサブルーチンを作成してみます。

'[VBA] 符号(正負)判定マクロ
Sub SIGN()
  Dim x As Double
  x = InputBox("数値を入力してください")
  If x = 0 Then
    MsgBox "x は 0 です"
  ElseIf x > 0 Then
    MsgBox "x は正です"
  Else
    MsgBox "x は負です"
  End If
End Sub

SIGNを実行すると数値の入力を促されます。
たとえば「3」を入力するとメッセージボックスに

x は正です

と表示され、「-2」を入力すると

x は負です

と表示されます。 「0」を入力すると

x は 0 です

というメッセージが表示されます。

If…Then…Elseステートメントは条件ごとに処理を変える命令文で、以下の形式で記述します。

If [条件1] Then

  [条件2] を満たす場合の処理

ElseIf [条件2] Then

  [条件2] を満たす場合の処理

Else

  [条件1] も [条件2] も満たさない場合の処理

End If

If…Then は「もし…ならば」、ElseIf…Then は「そうでなくて、もし…ならば」、Else は「その他の場合」という意味の命令文です。条件の数はもっと多くて構いませんが、その場合は

ElseIf [条件3] Then

  [条件3] を満たす場合の処理

ElseIf [条件4] Then

  [条件4] を満たす場合の処理

という具合に ElseIf 文を追加しておきます。

≫ 偶奇を判定します
≫ 数学マクロ講座トップページへ戻る

エクセルや数学に関するコメントをお寄せください