VBA型が一致しないエラーのデバッグ方法

このQ&Aのポイント
  • VBA実行中に発生するエラー「実行時エラー13 型が一致しません」に対して、デバッグモードに入る方法がわからない。
  • デバッグモードはエラーが発生した行を特定し修正するために重要なツールであるため、デバッグモードに入る方法を知りたい。
  • 現在はエラーメッセージボックスに表示される「OK」ボタンしかないため、エラーが発生した行を特定するのが困難である。
回答を見る
  • ベストアンサー

VBA 型が一致しません の行からデバッグするには

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。 環境:Win7 Excel2010 OfficeSP2 でございます。  VBA実行中にエラーが起こると大抵の場合はメッセージボックスが表示されて、そこにある「デバッグ」ボタンを押すとエラーが生じている行が黄色くなり、デバッグモードに入ると思います。(添付図の左側) が、私の環境で起こります「実行時エラー13 型が一致しません」は いつも、何故か「OK」ボタンしかございません。(添付図の右側)  長い時間計算を回した後にこのエラーで止まられると、 ・Debug.Printなど対処を施す ・長時間、エラーが出る時まで計算を回す を何度も繰り返してエラー原因を特定せねばなりませんため、非常に非効率で悩んでおります。  「デバッグ」ボタンが付いたエラーメッセージボックスが出されるようにするには、何か方法があるのでございましょうか?  もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。

  • MKT_
  • お礼率99% (329/330)

質問者が選んだベストアンサー

  • ベストアンサー
  • t-aka
  • ベストアンサー率36% (114/314)
回答No.1

VBAの画面のメニューバーより 「ツール」→「オプション」と進んでください。 「全般」タブにある「エラートラップ」のラジオボタンを次の項目を選んでください。 ・エラー発生時に中断 おそらく現在は ・エラー処理対象外のエラーで中断 になっているのではないでしょうか。

MKT_
質問者

お礼

どうもありがとうございます!m(_ _)m 調べましたところ、 >・エラー処理対象外のエラーで中断 になっておりました。改善したのかどうかはまだ検証できておりませんが おそらくいただけた解答がビンゴだと思われますので、 本質問は解決とさせていただきます^^  この度はご親切に誠にありがとうございました!m(_ _)m

関連するQ&A

  • 型が一致しない でも、プログラムは止まらない

    エクセルVBAにて 型が一致しない エラーのポップが出ます。 プログラムは中断していますが、OKボタンで プログラムは止まらず、その後の処理を実行します。 コードを表示した状態で デバッグを行いたいのですが、プログラムが止まらないので、箇所が特定できません。 自作フォーム、モジュール、タイマー、何でもありの状態ですが、そのまま、継続される・・・ってことが 場所の特定できる方法って 考えられるでしょうか 

  • 【VBA】実行中に「型が一致しません」というエラー

    【VBA】実行中に「型が一致しません」というエラーが発生します。 http://d.hatena.ne.jp/language_and_engineering/20090710/p1 上記URLの中の『もっと楽にコーディングしたい』項のコードを実行すると、 getElementByIdの引数のところで、 「型が一致しません」 というエラーが発生します。 原因がわからないのでわかる方居らっしゃったらお答えいただければと思います。 環境は以下のとおりです。 Window 7 IE 9 Excel 2003 おそらく上記環境が原因かと思うのですが…

  • デバッグについて教えてください

    よろしくお願いします。 サンプルのソースを参考にして、『メモ帳』を作成しています。 プログラムの記述間違いや、コンパイル時のエラーは無いのですが、 出来上がった『メモ帳』に何かを書くと、いきなり 『文書保存の確認部分のメッセージ』が表示され、 ×ボタンで閉じようとすると、こんどは『上書き保存の部分のメッセージ』が表示されます。 こちらも閉じようとして、×ボタンを押すと再び、『上書き保存の部分』の表示となり、いつまでも繰り返します。 そこで、 { char szBuf[256]; wsprintf(szBuf, "x = %d, x"); MessageBox(hWnd, szBuf, "Debug", MB_OK); } と言うメッセージボックスを、『新規作成、ファイルを開く、文書保存の確認、上書き保存などの、各、関数部分に』挿入してデバッグしたのですが、何の変化もありません。 デバッグの方法に間違いがあると思うのですが不慣れなため気づきません。 詳しい方、アドバイスをお願いします。

  • エクセルVBA「型が一致しません」

    エクセルVBA「型が一致しません」 これまで作成してきたVBAを明日から使用します。 最後に一つ、ご回答頂きたいのですが、 Dim a As Long a = Me.LabelCompany.Caption If a = 0 Then MsgBox "このベルマークは失効しています。失効していない場合は「ベルマーク番号シート」を編集してください。なお、失効後半年以内のベルマークは有効です。" End If このようなコードを書いたのですが、タイトルのエラーを吐いてしまいます。 「LabelCompany」に何も入力されていなければメッセージボックスを表示するという動作に持って行きたいです。御指南お願いします。

  • EXCEL VBAマクロ中断でデバッグ(コード閲覧)できないようにしたい

    EXCEL VBAで、ツール開発をしております。 エラー処理等、組み込んではおりますが、想定外のエラーが起きたときに、ご存知のとおりエラーメッセージウインド([継続] [終了] [デバッグ] [ヘルプ]ボタンが表示されるウインド)が出ます。 これを、出さないようにするか、あるいは[デバッグ]ボタンのみを非表示(グレーアウト可)させたいのです。 理由は、VBAコードを見られないようにマクロにパスワードをかけているのですが、エラーが出て[デバッグ]ボタンを押すと、パスワードを無視して簡単にVBAコードにアクセスできてしまい、すべてのコードが参照可能になってしまいます。 これを防ぎたいのです。 何か良い方法はございますでしょうか? お知恵をお貸しください。よろしくお願いします。

  • 実行時エラー'13' :型が一致しません。

    Windows XPで、Access 2002を使用しています。 テーブル1のフィールド1の値を、ハイフン区切りで分割をしたいと思い、split関数を使用して、 下記、VBAを実行しましたが、「実行時エラー'13' :型が一致しません。」と言うエラーが 発生して、先に進む事ができません。 ツール→参照設定で、Microsoft DAO 3.6 Object Libraryにチェックを入れたり外したりしましたが、 全く改善されず、同じエラーが発生します。 DAO.を付けると解決するとの事で、 Dim dbs As DAO.Database Dim rs As DAO.Connection としましても、同じエラーが出ます。 デバッグしますと、 Set rs = dbs.OpenRecordset("select フィールド1 from テーブル1") の所で発生しているようです。 Private Sub コマンド0_Click() Dim dbs As DAO.Database Dim rs As DAO.Connection Set dbs = CurrentDb Set rs = dbs.OpenRecordset("select フィールド1 from テーブル1") Dim Vartemp As Variant Vartemp = Split(rs, "-") Debug.Print Vartemp(0) Debug.Print Vartemp(1) Debug.Print Vartemp(2) Debug.Print Vartemp(3) End Sub 以上、初心者で、行き詰ってしまっておりますので、どうか宜しくお願いします。

  • 実行時エラー’13’ 型が一致しません VBA

    セルに以下の文字列が入っています。 A1=10(451 A2=452 そしてVBAにて、以下のプログラムを実行すると、「実行時エラー’13’ 型が一致しません」というエラーになってしまいました。 原因はA1に「( 」があるので文字列だからだと思うのですが、「IF 条件文」が成立しないことは満たすのでElse以下を実行されるのを期待していたのですが。 アドバイスをお願いします。 また、そもそも変数を宣言してないので「型が一致しない」というエラーの意味がわからないのですが。 If Cells(1, 1) - Cells(2, 1) = 1 Then Cells(3, 1) = 1 Else Cells(3, 1)="c" End If

  • デバッグ終了後、再度デバッグ動作できない

    簡単な電卓のプログラムを組んで、ビルド後デバッグして、一旦デバッグ終了のためにフォームの右上の×ボタンで終了し、再度デバッグ動作を実行するとデバッグに入れなくなります。 一旦Code Gear C++ Builder 2009を終了使用とすると、”デバッグを終了しますか?”というメッセージボックスが出てきます。 そのままIDEの終了動作を行うと”デバッグプロセスを初期化できません のプロセスを終了する際にデバッガで致命的なエラーが発生しました。作業中のファイルを保存し CodeGear C++ Builderを再起動してください。” このようなメッセージボックスが出てきて強制終了してから起動しないかぎり再度デバッグ動作ができないのですが、解決方法ご存じの方いらっしゃいませんでしょうか? 現在使用しているのはCode Gear C++ Builder 2009 です。

  • ACCESS2000VBAでエラー「型が一致しません」

    ACCESS2000で、フォーム上にボタンを作り、そのボタンをクリック時に 以下のイベント プロシージャを実行させています。 Dim dbs As Database Dim rst As Recordset Set dbs = CurrentDb Set rst = dbs.OpenRecordset("採番_相談者") Dim Number rst.MoveFirst Number = rst!相談者番号 Number = Number + 1 Me.相談者NO = Number '相談者NOはフォーム上のテキストボックスです。 で上記 Set rst = dbs.OpenRecordset("採番_相談者") の所で、「実行時エラー 13 型が一致しません」とエラーになります。 テーブル:採番_相談者は、オートナンバー型のIDフィールドと相談者番号という7桁のテキスト型で ”1000001”が入っています。(ちなみに、数値型に変えても同じエラーでした。) 詳しい方教えてください。お願いします。

  • 途中で処理を中断させたい (アクセスVBA)

    早速ですが、アクセスVBAでエラー処理のコードを作成していますが、メッセージボックス出力後に、 "実行時エラー13:型が一致しません" とでてきます。 おそらくデータが入っていないのにもかかわらず、次の処理を続行してしまうためにこのようなことが起こっているのではないかと思います。どのように処理をすればよいのでしょうか? 宜しくお願いします。

専門家に質問してみよう