
クラスモジュール内で
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- Excel(エクセル) 初歩的な質問ですがよろしくお願いします。 Excelのユーザーフォームを作成 ユーザーフォーム内から 5 2022/04/06 20:52
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- モテる・モテたい 好きな人に名前で呼ばれたい… 3 2022/06/04 14:42
- モテる・モテたい 好きな人に呼ばれたい呼び名。 1 2022/06/04 19:09
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
文字列内で括弧を使うには
-
DBへのINSERT時に実行時エラー...
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
フランスの生年月日(jj/mm/aaaa)
-
マクロOn Error GoTo ErrLabel...
-
Filter関数を用いた結果、何も...
-
【VB.NET】 パワポ操作を非表示で
-
UWSCでエラー発生時の対処法に...
-
【VBA】ワークブックを開く時に...
-
Excel vbaについての質問
-
INSERT INTOステートメント構文...
-
【VBAエラー】Nextに対するFor...
-
演算子が DBnull 及び integer...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
【マクロ】全シートでまとめて...
-
VBAの構文エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
ApplicationとWorksheetFunctio...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
実行時エラー 438 の解決策をお...
-
オブジェクト型の変数にフォー...
-
.VBSだとADODBのプロバイダが見...
-
実行時エラー'-2147467259(8000...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【VBAエラー】Nextに対するFor...
おすすめ情報