【Excelマクロ(VBa)】条件分岐(If)


 IF文


IF文は 下記のように記載します。

If 条件1 then
  条件1がTrueの場合に実行
ElseIf 条件2 then
  条件2がTrueの場合に実行
ElseIf 条件3 then
  条件3がTrueの場合に実行
Else
  条件1・2・3がfalseの場合に実行
  (上記の条件にどれも当てはまらない場合)
End If

条件1・条件2が共にTrueの場合、上記のように1つずつ書くと分かりにくくなるので、下記のように and を使って記載します。

If 条件1 and 条件2 then
  条件1・条件2が共にTrueの場合に実行
End If

条件1・条件2どちらかTrueの場合は下記のように or を使って記載します。

If 条件1 or 条件2 then
  条件1・条件2どちらかTrueの場合に実行
End If

例として四則演算の処理を記述します。
当然数値しか処理が出来ませんので、共に数値のチェックを行います。
また、割り算は、除数が 0 の場合は割り切れませんので、そのチェックも行います。

X = 6
Y = 0
If IsNumeric(X) And IsNumeric(Y) Then

  Z = X + Y
  MsgBox X & " + " & Y & " = " & Z

  Z = X - Y
  MsgBox X & " - " & Y & " = " & Z

  Z = X * Y
  MsgBox X & " * " & Y & " = " & Z

  If Y <> 0 Then
    Z = X / Y
    MsgBox X & " / " & Y & " = " & Z
  Else
    MsgBox X & " / " & Y & " = y は " & Y & "のため割り切れません"
  End If

Else

  MsgBox "数値ではありません"

End If

上記処理の結果は下記となります。


管理人 について

趣味:映画鑑賞・音楽鑑賞・ゲーム・旅行 仕事:会社員(IT関連)
カテゴリー: VBa(Excelマクロ), システム開発 パーマリンク

コメントを残す