
クラスモジュール内で
On Error Resume Nextを書き、
エラー処理を行った後、Err.Raiseを実行して、呼び出し元にエラーを返していますが、
呼び出しもとの On Error Goto のとび先に飛びません。
呼び出し元で、Err.Numberを表示すると、値が取れますので、値は渡せているようです。
呼び出し元で何か実行時エラーを発生するとちゃんと On Error gotoのとび先に飛びますので、クラスモジュールで行った Err.Raiseが処理されないだけのようです。
どうすれば、呼び出しもとのとび先に飛ぶようになるでしょうか。お知恵をお貸しください。
No.1ベストアンサー
- 回答日時:
>On Error Resume Nextを書き、
そりゃ飛びませんね。
Err.Raiseの前に
On Error Goto 0を1行いれましょう。
また、VBのメニューの、ツール→オプション→全般のエラーとラップのところで、「エラー処理対象外のエラーで中断」にすると便利かも。
ご回答ありがとうございます。
説明不足でしたが、このままではだめでした。
というのも、実際にエラーが発生している状態であるため、 On Error Goto 0 を書くとその時点で実行時エラーが発生し、エラー画面が表示されてしまい、呼出元のエラー処理は実行されません。
以下の方法で解決しました。
Err.Clear '一旦エラーをクリアする。
On Error Goto 0 'Resume Nextを解除する。
Err.Raise '呼出元にエラーを送る。
以上です。
Err.Clearを行うとNumber,Descriptionなどは全てクリアされるので、あらかじめ別の変数に対比しておく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
Excel vbaについての質問
-
【VBA】ワークブックを開く時に...
-
実行時エラー'-2147467259(8000...
-
String""から型'Double'への変...
-
レコード登録時に「演算子があ...
-
VB6とVB.NETでNullの扱いが違う?
-
【Access】Excelインポート時に...
-
ApplicationとWorksheetFunctio...
-
UBoundに配列がありませんとエ...
-
pythonのopenpyxlについて
-
文字列内で括弧を使うには
-
ActiveCell.FormulaR1C1の変数
-
演算子が DBnull 及び integer...
-
エクセルVBAで埋め込みグラフ(C...
-
【VBAエラー】Nextに対するFor...
-
.VBSだとADODBのプロバイダが見...
-
VB.net 重複チェックがしたいです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報