#200 | 分母がゼロのときの除算エラーを回避するには? | VBA | |
コンピュータでは、いかなるプログラミング言語、あるいはExcelのような表計算ソフトのセル計算式においても、分母がゼロである割り算は実行できず、除算エラーとしてはじかれてしまいます。そこで、分母がゼロのときの除算エラーを回避して、答えをゼロとする方法を紹介します。 まずはIf〜Else構文を使った方法です。 ここでは分母の値を調べ、ゼロでなければ通常の割り算を実行し、ゼロの場合は答えをゼロとして表示します。 Sub DevideTest1()
Dim a, b Dim Rslt a = InputBox$("分子を入力してください!") b = InputBox$("分母を入力してください!") If b <> 0 Then Rslt = a / b Else Rslt = 0 End If MsgBox a & "÷" & b & "の計算結果は " & Rslt & "です!" End Sub 続いて、エラー処理を使って除算エラーを回避する方法です。 除算エラーが発生すると、エラー番号「11」のエラーが発生します。ここではエラーをトラップし、その番号のエラーが発生したら答えをゼロにしてエラー処理を抜け出すという方法を採っています。さらにここでは、汎用的に利用できるFunctionプロシージャとしてその仕組みを作ってみました。 Function DevideZero(a, b)
On Error GoTo Err_Handler DevideZero = a / b Exit_Here: Exit Function Err_Handler: If Err.Number = 11 Then DevideZero = 0 Resume Next Else Beep MsgBox Err.Description Resume Exit_Here End If End Function |
|||
|
Copyright © T'sWare All rights reserved |