[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エラー回避』(risa)
こんばんは
次のSheetが無い時に On Error Resume Nextで、エラー回避していますが
この方法は、正しいのでしょうか?
ActiveSheet.Next.Select
2007
エラートラップの場所と全体の処理が解らないので正しいかどうか、 判断はしかねますが、部分的なには間違いではありません。 この部分における別の方法としては、アクティブシート名を最終シート名と 比較することでエラートラップする方法が考えられます。 If ActiveSheet.Name <> Sheets(Sheets.Count).Name Then ActiveSheet.Next.Select Else MsgBox "このシートが最終シートです" End If On Error Resume Nextの位置によっては、他のエラーも表面上には 現れずにスルーしてしまうことがあるので、注意が必要です。 On Error Resume Nextで回避する場合は、あとで対処できるような工夫を。 On Error Resume Next ActiveSheet.Next.Select ' このあとで他の処理でエラーが発生した場合も On Error Resume Nextだけでは ' エラーをスルーしてしまう。 ' 以下のようなコードを最後に加えて想定していないエラーを拾う。 Select Case Err.Number Case Is = 91 MsgBox "このシートが最終シートです" Case Else MsgBox "プログラムの調査が必要なエラーです。エラーナンバー" & Err.Number End Select On Error GoTo 0
(みやほりん)(-_∂)b
>アクティブシート名を最終シート名と
比較することでエラートラップする方法が考えられます。
この方法で、エラー回避する事にしました。
みやほりんさんのアドバイスで、安易にOn Error を使用しては、
駄目なことがよく解りました。
丁寧な説明有り難うございました。(risa)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.