ある日のわたしの日記

misora05のブログ本館.ネタは乱雑.

VBAの実行が不可解に中断される現象と,その解決法

仕事中に引っかかったのでメモ.
VBA/VBEのバグだと思うんだけど,Microsoftの技術情報には掲示がなく,ハマりました.

現象

(再現画像は用意できませんでした;発生要因わからないんだもん.)

VBAのコード実行中,ブレークポイントが設定されていないにもかかわらず,ブレークポイントが設定されているかのようにコードの実行が中断される.

f:id:misora05:20190220190731p:plain

もう一度,F5(実行)を押せば問題なく再開できる.

現状,Excel VBAAccess VBAでの発生を確認しています.

原因

わ か ん な ー い !

冗談抜きに原因一切不明です.
過去ブレークポイントを設定した箇所で引っかかるなら「ブレークポイントの残骸でも残っているのかな?」とでも思うのですが,そういうわけでもないし.

もがく

  • コンパイルしなおそう.
    →だめでした.
  • そこにブレークポイントを設定して,解除してみよう.
    →だめでした.
  • 問題が起こっている場所を切り取ってコンパイルしなおし,貼りつけなおしてコンパイルしてみよう.
    →だめでした.
  • モジュールをファイルにエクスポート後削除,インポートしてみよう.
    →試し忘れた.
  • 新しいブック(Excel)・データベース(Access)にモジュールをコピーしてみよう.
    →これは大丈夫だった‥が,解決になってる気がしない.

解決

実はネットで探したら,類似の事例は起きているようです.
参考:http://unote.hatenablog.com/entries/2011/09/26

ここをもとに以下の手順を踏んでみたところ,

  1. この問題で実行が中断される.
  2. わざと Ctrl + Break を押す(見た目上何も起こらない).
  3. Ctrlを押しながら,デバッグのリセット(停止ボタンのアレ)を押す.

‥解決しました.

で,原因は?

わかるわけないだろばーかばーか!

そもそもなぜこのような現象が起きて,なぜこういう手順を踏んだら直るのか,本当意味が解りませんでした!

Microsoft Store (マイクロソフトストア)