
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは。
私は、別案というよりも、コーディングの基本の基本ですが、On Error トラップ(On Error Goto xx) というものは、最後につけるもので、製作中にトラップを置いたら、どこでエラーが出たか分かりません。
出来上がっている場合は、デバッグのステップインで、短い場合は、どこでマクロが飛ぶのか調べます。もしくは、ブレークポイントを段階的につけていき、どこまでは、OKか調べます。
コンパイル後に起こるのですから、[実行時エラー]だと思いますから、それなり見当はつくはずです。
もう一つ、コーディングの基本的なことですが、コードの行数は増やさずに、サブルーチンを増やすことです。一般的には、100行以下と言われています。
私は、ずっと、そのようにしてきています。
No.3
- 回答日時:
いやいや、ないこともないんですよ・・・
'先頭の数字は消さないでね!
Sub hoge()
3 On Error GoTo ErrHnd
4 Err.Raise 9999, "test"
5 ErrHnd:
6 MsgBox VBA.Erl & " : " & Err.Number & Err.Source
End Sub
VBA.Erl が 4 (Error発生行の先頭の数字)を表示します。
手入力したソレが「何行目」と一致するとは限りませんが。
使うことはないです。
No.2
- 回答日時:
残念ながら、VBAにそのような機能はありません。
よって、これを実現するためには自分で『作りこみ』をする
必要があります。
『作りこみ』の方法は No.1 さんが提示されている方式が
スタンダードでしょう。プログラム内に『ここまで実行し
た』ことを記録するコードをいちいち埋め込むのは、超面
倒で嫌になってきますが、VBAを使う限り必要悪として
受け入れましょう。
No.1
- 回答日時:
> 上記に近い類似の方法がありますか。
自前で「処理中のブロック名」を持つ変数作っておいて
処理単位に値を代入し直し、エラートラップで表示する。
ブロックを細かくすればするほど、特定はしやすいが手間が増える。
エラー発生箇所を大まかに特定したら、F8のステップ実行もアリ。
ただ、まれにF8では止まらないことがあったので
イミディエイトウインドウにDebug.Print現在位置を表示させたりします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/04/21 13:46
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) VBAで、㉑という数値が、正しく、入力できない 2 2022/07/26 20:22
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
プロシージャ名の取得
Visual Basic(VBA)
-
On ErrorでエラーNoが0
Visual Basic(VBA)
-
-
4
Excelマクロで、稼働中のマクロを確認する方法
その他(Microsoft Office)
-
5
レコードが存在しなかった場合
Microsoft ASP
-
6
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
どこにもフォーカスを当てたくない
Access(アクセス)
-
9
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
10
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
11
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
12
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
13
Access終了時の最適化が失敗?
その他(データベース)
-
14
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
15
accessで重複を防ぎたい
Access(アクセス)
-
16
Excelのシート上のShapeにイベントは設定できる?
Excel(エクセル)
-
17
VBAでの結合セルのコピー&ペースト
Excel(エクセル)
-
18
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
19
ウォッチ式の文字数制限について
Visual Basic(VBA)
-
20
【VB.NET】 パワポ操作を非表示で
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
EXCEL VBAマクロ中断でデバッグ...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
VBAのコードがエラーになっ...
-
ExcelVBA Range クラスの Page...
-
実行時エラー3001「引数が間違...
-
VBAでのエラー
-
INSERT INTOステートメント構文...
-
VB6+SQL サーバー 2000 で 実行...
-
マクロについて教えてください...
-
C++Builder 6 : TListView でエ...
-
EXCEL/VBAで、自分のPCだけエラ...
-
実行時エラー -'-2147417848
-
なぜこんな初歩的なVBAのIf文で...
-
「コンパイルエラー:プロシー...
-
【Excel VBA】マクロをボタンに...
-
クラシックASPでのエラー処理に...
-
VC++のMFCでエラーが出ます
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報