#611 | 計算値がエラーがどうか調べるには? | VBA | |
VBAのプログラムにおいては、通常、エラーが発生するとプログラムが停止するか、あらかじめ発生が予期されているようなときにはエラー処理ルーチンでトラップするなどの対処方法があります。 これに対して、計算式におけるエラー、たとえばゼロで除算したときに発生するようなエラーについては、その式自体を事前に評価することができます。エラーが発生する式かどうかを判別し、そのあとの処理を分岐したりエラー回避させたりすることができます。 それには、「IsError」関数を使います。この関数では、引数に指定した値や計算式がエラーを発生させるような内容の場合にはTrueを返します。そうでない場合はFalseを返します。 次の例では、100を「txt入力データ」テキストボックスに入力された値で割り算しています。その結果が問題なければ計算結果を「txt処理結果」テキストボックスに出力します。エラーが発生する内容である場合には”計算エラーです!”と出力します。 Private Sub txt入力データ_AfterUpdate() '入力データの更新後処理 'エラーを無視する On Error Resume Next '計算値がエラーか調べる If IsError(100 / Me!txt入力データ) Then Me!txt処理結果 = "計算エラーです!" Else Me!txt処理結果 = 100 / Me!txt入力データ End If End Sub 実行例: ■入力データに「20」を入力した場合 ■入力データに「0」を入力した場合 |
|||
|
Copyright © T'sWare All rights reserved |