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 文を追加しておきます。
エクセルや数学に関するコメントをお寄せください