Excel VBA質問箱 IV

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

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


1441 / 13645 ツリー ←次へ | 前へ→

【74472】エラートラップの方法 usreima 13/6/21(金) 21:15 質問[未読]
【74473】Re:エラートラップの方法 UO3 13/6/21(金) 22:40 発言[未読]
【74475】Re:エラートラップの方法 usreima 13/6/22(土) 10:24 お礼[未読]
【74474】Re:エラートラップの方法 UO3 13/6/21(金) 22:45 発言[未読]

【74472】エラートラップの方法
質問  usreima  - 13/6/21(金) 21:15 -

引用なし
パスワード
   ON ERROR GOTO とRESUME NEXTでエラートラップをやる方法を習得しました。
が、以下のことをどうやればいいかわからず困ってしまいましたのでおしえてください。
RESUME NEXTはエラーが発生した次のコードに行く命令ですが、状況によっては次のコードではなく、次の次に行ってほしいことがあります。
たとえばエラー番号が1だったらエラーが発生した次のコードに行く、エラー番号が2だったらエラーが発生した次の次のコードに行く、ということがしたいです。

【74473】Re:エラートラップの方法
発言  UO3  - 13/6/21(金) 22:40 -

引用なし
パスワード
   ▼usreima さん:

>ON ERROR GOTO とRESUME NEXTでエラートラップをやる方法を習得しました。

おそらくは老婆心でしょうが、エラートラップは、その意味というか意義を充分理解した上で
必要最小限に絞って使うことが必要だろうと思います。
便利だからといって安易に使うべきではありません。
ほとんどのことは、エラートラップなしで制御できるはずですので。

ですから、今回のテーマも、具体的なコードをアップした上で、ここで、こういう目的のために
このような分岐をさせたいという質問であって欲しいと思います。

一般論で言いますと、エラー発生コードの下で、On Error GoTo 0 をかける前に
Err.Number を Long型変数に格納しておいて、On Error GoTo 0 の後で、このLong型変数の値を判定して
ロジック分岐させることになりますが。

【74474】Re:エラートラップの方法
発言  UO3  - 13/6/21(金) 22:45 -

引用なし
パスワード
   ▼usreima さん:

追申です。
↑で申し上げたコメントは

On Error Resume Next
エラー発生可能性のあるコード
Long型変数 = Err.Number
On Error GoTo 0
ここで変数の値を判定し分岐

このような構成をベースにしたコメントです。

On Error Goto ラベル
エラー発生可能性のあるコード
'
'
'
Exit SUb
ラベル:
エラー後の処理

この構成に対するコメントではありません。

【74475】Re:エラートラップの方法
お礼  usreima  - 13/6/22(土) 10:24 -

引用なし
パスワード
   ▼UO3 さん:
>便利だからといって安易に使うべきではありません。
便利だからといって安易に使おうと思っていたので、この質問自体がいただけないのですね。
緻密なコードを考えたうえでわからなかったらまた質問します。
ご助言ありがとうございました。

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