Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


50705 / 76732 ←次へ | 前へ→

【30912】Re:エラー回避について
発言  ichinose  - 05/11/7(月) 8:19 -

引用なし
パスワード
   ▼sama さん:
おはようございます。

>実行時エラーの件ですが、かみちゃんさんのアドバイスにありました、On Error
>ステートメントについて自分なりに調べてみました、結果”On Error Resume Next”をコードに挟んでみましたらエラーはでなくなりました。根本的な解決には
>なっておりませんが。
>この方法では何か問題が発生するのでしょうか?

問題があるか否かは、アルゴリズムによります。
コードと仕様を見なくては判断できません。
大抵は、エラーが発生した場合と発生しなった場合とで処理方法を
分けるのが一般的だと思います。
特殊な場合もありますが・・・。

例えば、

ax−b=0

という方程式をxで解くプログラムを考えましょう!!

'=================================================
Sub ax_b_equal_0()
  Dim a As Variant
  Dim b As Variant
  a = Application.InputBox("ax−b=0のaを入力して", , , , , , , 1)
  b = Application.InputBox("ax−b=0のbを入力して", , , , , , , 1)
  If TypeName(a) <> "Boolean" And TypeName(b) <> "Boolean" Then
    MsgBox a & "x-" & b & "=0 : x = " & b / a
    End If
End Sub
でも、これだとaに0が入力されるとエラーになりますよね?

よって、エラーを回避するための

'================================================================
Sub ax_b_equal_0()
  on error resume next 
  Dim a As Variant
  Dim b As Variant
  a = Application.InputBox("ax−b=0のaを入力して", , , , , , , 1)
  b = Application.InputBox("ax−b=0のbを入力して", , , , , , , 1)
  If TypeName(a) <> "Boolean" And TypeName(b) <> "Boolean" Then
    MsgBox a & "x-" & b & "=0 : x = " & b / a
    End If
End Sub

としました。

>結果”On Error Resume Next”をコードに挟んでみましたらエラーはでなくなりました。
>根本的な解決にはなっておりませんが。
>この方法では何か問題が発生するのでしょうか?

sama さんのご質問を上記のコードで考えてみてください。
問題ありませんか?

2 hits

【30791】エラー回避について sama 05/11/4(金) 20:10 質問
【30792】Re:エラー回避について かみちゃん 05/11/4(金) 20:15 発言
【30850】Re:エラー回避について sama 05/11/5(土) 23:17 質問
【30874】Re:エラー回避について かみちゃん 05/11/6(日) 14:08 発言
【30884】Re:エラー回避について Hirofumi 05/11/6(日) 16:31 発言
【30887】Re:エラー回避について Hirofumi 05/11/6(日) 18:29 発言
【30908】Re:エラー回避について sama 05/11/6(日) 23:49 回答
【30912】Re:エラー回避について ichinose 05/11/7(月) 8:19 発言
【30915】Re:エラー回避について sama 05/11/7(月) 9:08 回答
【30927】Re:エラー回避について ichinose 05/11/7(月) 12:33 発言
【30935】Re:エラー回避について sama 05/11/7(月) 14:43 お礼
【30885】Re:エラー回避について ichinose 05/11/6(日) 16:56 発言

50705 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free