VBA講座09 IF...Then...Elseステートメント

If...Then...Elseステートメント

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

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

 ダイアログボックスで入力された数値の符号を判定するマクロです。

 Sub 正負判定()

 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

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

x は正です

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

x は負です

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

x は 0 です

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

If...Then...Elseステートメント

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

 If [条件1] Then
  [条件1] を満たす場合の処理

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

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

 End If

 If...Then は「もし...ならば」、
 ElseIf...Then は「そうでなくて、もし...ならば」、
 Else は「その他の場合」という意味の命令文です。

 条件の数はもっと多くて構いませんが、その場合は

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

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

 ・・・・・・・・・・・・・・・

という具合に ElseIf 文を追加しておきます。改めて正負判定マクロを見てみると、

 If x = 0 Then
  MsgBox "x は 0 です"

 ElseIf x > 0 Then
  MsgBox "x は正です"

 Else
  MsgBox "x は負です"

となっていて、これは条件ごとに

 x = 0      ⇒ 「 x は 0 です」を表示
 x > 0     ⇒ 「 x は正です」を表示
 それ以外の数値 ⇒ 「 x は負です」を表示

という処理をするように命じているのです。

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

スポンサーリンク
末尾広告
末尾広告

コメントをどうぞ

メールアドレスが公開されることはありません。