プログラムが中断してしまう

このQ&Aのポイント
  • エクセルのマクロ(VBA)を起動させるとブレークポイントが設定されているかのごとく処理があるステップで「中断」します。
  • 以前は同じモジュールなのにそんなことはなかったような気がします。
  • この現象はブレークポイントが実は設定されたままなのでしょうか?それともやはりプログラム的にどこかおかしい箇所があるのでしょうか?
回答を見る
  • ベストアンサー

プログラムが中断してしまう

こんにちは。VB初心者です。 以下の現象で困っています。 エクセルのマクロ(VBA)を起動させるとブレークポイントが設定されて いるかのごとく処理があるステップで「中断」します。 (もちろんブレークポイントなど設定はしていません) エラーで止まるのなら分かりますが、エラーではないようで「継続」 させると正常に終了します。 以前は同じモジュールなのにそんなことはなかったような気がします。 この現象は ブレークポイントが実は設定されたままなのでしょうか? それともやはりプログラム的にどこかおかしい箇所があるのでしょうか? どなたかこころあたりのある方よろしくお願いします。

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

  • ベストアンサー
  • yohsshi
  • ベストアンサー率55% (369/665)
回答No.2

負荷がかかっている場合(他のアプリケーションが立ち上がっている)や、エクセル自身が大きく、VBAのが実行されている途中で再計算がなされるような状況だと止まってしまう場合があります。 Book計算を手動に切り替えるとスムーズに流れました。 '計算手動 With Application .Calculation = xlManual .MaxChange = 0.001 .CalculateBeforeSave = False '保存前に再計算しない End With 元に戻すのは With Application .Calculation = xlAutomatic '計算自動 .MaxChange = 0.001 .CalculateBeforeSave = True '保存前に再計算 End With これを最初と最後に入れてみてください。私はそれで動くようになりました。 以上、EXCEL97 VBA

hanikos2001
質問者

お礼

ありがとうございます。 確かに最後まで動きました。 他のマシンとかで動かすと動くので、なんらかしらメモリの解放とか負荷の問題ではないかと思ってました。 機能的な問題ではないということが理解できてよかったです。 しかし、Windowsというのは。。

その他の回答 (1)

  • yuu200
  • ベストアンサー率20% (5/24)
回答No.1

ウォッチ式が設定されているのでは? ウォッチ式を削除すれば止まらなくなると思います。 違ってたらごめんなさい…

hanikos2001
質問者

お礼

ありがとうございます。 そういう機能もあるのですね。 設定はしてないと思うんですよね。

関連するQ&A

  • エラーになってないのにVBAが中断される

    エラーになってないし、止めてもいないのに、VBAが中断される エクセル2010なのですが、マクロを実行すると、一定の間隔でマクロが中断してしまいます。 中断箇所は ・End With ・Set WSH = Nothing ・If tmp Like "*文字*" Then などです。 「コードの実行が中断されました」と表示されます。 中断キーは押していません。 再起動すると治るのですが、どうしてこのような現象が発生するのでしょうか?

  • 必ず同じ場所でコードが中断 vba

    ブレークポイントやstopなどは設置してないのに、 必ず同じ場所でコードが中断されます。 エラーになるわけではなくて、 ブレークポイントやstopを設置してるのと同じ状況です。 エクセルVBAのファイルですが、 元々は アクセスVBAからエクセルVBAを起動しています。 なぜブレークポイントやstopがないのにいつも同じ場所で止まるのでしょうか? 止まる場所のコードは単純なifステートメントで If 単価 > 0 Then のようなコードです。

  • excel オートシェープでマクロエラー

    どうにも不思議な現象が発生して困っています。 どなたか原因と解決方法を教えてください。 ワークシートに挿入した図形にマクロを登録し、選んだ図形によって処理を変えます。 登録したマクロに row = ActiveSheet.Shapes(Application.Caller).TopLeftCell.row を書いて、図形のある行を取得し、どの図形がクリックされたかを判断しています。 不思議なのはここからで、 【その1】  ずっと何年間も不具合無く動作していたのに急に「指定した名前のアイテムがみつかりませんでした。」というエラーが発生するようになりました。  しかも1回目に図形をクリックしたときは正常に動作するのに、続けて2回目をクリックするとこのエラーが出ます。 そして、デバッグでVB画面に移り、マクロを一度停止して再起動すると、また1回目は正常動作するのに2回目はエラーとなります。 【その2】 原因をさぐるためにrow = ActiveSheet.Shapes…の行の前にブレークポイントを設定してみたところ、ブレークポイントを置いて停止後に継続させると何回でも正常に動作します。 この現象自体が不明です。 どなたかよろしくお願いいたします。

  • エラーではないのにVBE画面が開いて中断される

    エラーメッセージが表示されないのに VBE画面に飛ぶことがあります。 他の人が作ったアクセスで、コマンドボタンを押すと、VBE画面が開き、途中でコードが止まります。 まるでその部分にブレークポイントがついてるかのようにVBAが中断されます。 しかし確認してもブレークポイントはついてないし、エラーも発生していません。 そのまま、F5キーでVBAの実行をすると問題なく動きます。 そして再度同じコマンドボタンを押してもエラーは発生しません。 mdbファイルを開いて1回目にコマンドボタンを押した時だけ発生します。 どういうことなのでしょうか?ヴァージョンは2003です。 よろしくお願い致します。

  • 関数エラーによるエクセルマクロの処理中断

    そんなにエクセルVBAが得意じゃないです。よろしく教示くださいませ。 セルにエクセル関数を設定し、マクロを働かせて使用しています。 セルに想定外のデータが入力されると、関数エラーを起こしてしまうのですが、 このエラーが発生すると、マクロも中断になってしまいます。 関数エラーが発生しても、マクロが中断しないような、マクロ命令って あるのでしょうか。 実は、マクロで想定外データのチェックをかけてるのですが、その想定外データが入力されると、 警告は発するのですが、関数エラーが発生し、マクロが中断してしまうのです。 マクロに組み込むべき、コマンドはあるのでしょうか。

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

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

  • Accessでブレークポイントを設定してないのに一時停止してしまう

    いつもお世話になってます。 Accessでブレークポイントを設定していなくて(デバック時はブレークポイントを設定していましたが、すべて解除した後に) 実行するとエラーでもないのに、エディターが現れて、その昔ブレークポイントがあった場所であろう行が黄色く反転してプログラムが一時停止してしまいます。 継続すれば問題なく流れるのですが・・・。 なぜこのような現象がおこるのでしょうか?

  • ステップインで実行しても中断させない方法を教えてく

    エクセルでOLEObjectを削除するコードを、 ブレークポイントを設置して実行すると、 デバッグモードでやると「中断モードでは入力できません」となります。 (エクセル2007です) 例えば、 Sub オブジェクト削除() ActiveSheet.OLEObjects.Delete Selection.Value = "a" End Sub で、「Selection.Value = "a"」の部分にブレークポイントを設置して、 F8で一行ずつ実行していこうとすると画像のようになります。 なぜなのでしょうか? 今サンプルで提示したコードは短いのでいいのですが 実際のコードはもっと長いので、 ステップインでコードの動きを見ていきたいのですが ActiveSheet.OLEObjects.Delete の部分で、エラーになってしまいます。 その際、「継続」と「終了」のどちらを選んでもOLEObjectsは削除されます。 「終了」の場合はその次のコードの、 Selection.Value = "a" は実行されません。 ブレークポイントを設置せず、F5で一気に実行する場合はエラーになりません。 コードの中に、 ActiveSheet.OLEObjects.Delete があってもステップインで実行しても中断させない方法を教えてください。

  • NB.netでのステップ実行

    お世話になります。 現在VB.netでWebアプリ開発してます。 ステップ実行について質問なのですが、 1箇所ブレークポイントを設定しておいて デバック実行を行うとまずブレークポイントまでは 実行されますよね? その後F10またはF11で1行ずつステップ実行していくと うまく表示されるのですがF5でいきなり飛ばしてしまうと エラーが出てしまいます。 この違いって何が影響しているのでしょうか? 以下処理詳細 (1)PageLoadにてDB接続し、データを取得してきます。 (2)取得してきたデータをDropDownListの値に割り当てます (3)Web画面の表示 エラーが出るのは(2)の値の割り当ての箇所で内容は 割り当てるデータが存在しませんといった内容です。 もう一度いいますが1行ずつのステップ実行だと Web画面表示までうまくいきます。 以上よろしくお願いします。 環境:Windows2003Server    VisualStudio2008Pro    Framework2.0

  • ブレークポイントの設定

    EXCEL VBAのマクロ動作確認で 作ったマクロの全行にブレークポイントを設定して 動作確認をしているのですが 長文になると設定が多く、くたびれてしまいます 何かいい方法はないでしょうか