概要
Excel VBAを作っている時に遭遇するバグを記載。
知らないと面喰うので頭の片隅にでも。
ほとんどは Excel2010 で体験したことなので最新版で再現するかは未検証。ご存じの方は教えてください。
バグ一覧
コマンド ボタンが小さくなる
現象
ActiveXコントロールのコマンドボタンを設置していると、ボタンもボタンのtextもマクロを実行するごとに小さくなっていく場合がある。
対策
フォームコントロールのコマンドボタンを使う。
ボタンのサイズ等を毎回セットし直せばよいのでは、と思って試したけどうまくいかなかった気がする。だいぶ昔の話なので、なぜうまくいかなかったかは覚えていない。
大量にコピペをしていると実行時エラーが出る
現象
マクロでグラフやシート等を大量にコピペ or 生成していると途中で実行時エラーが発生する。
対策
いくつかコピペ or 生成するごとにブックを保存する。
参考
http://yutechi.hatenablog.com/entry/2012/12/05/111910
以前はMicrosoftのサポートページに記載があったけど消えてた。
ブレークポイントで止まらない
現象
ブレークポイントを設定してもデバッグ実行中に止まらずスルーされる。悲しい。
対策
ソースコードに適当な改行を増やしたり減らしたりして保存するとなおる。
参考
https://www.remember-the-time.xyz/2013/07/vba.html
http://kagen88.blogspot.com/2013/12/vbabreakpoint.html
何もないところで「コードの実行が中断されました」と出てマクロが中断される
現象
ブレークポイントも設定していないし、実行時エラーが出るわけでもないのにマクロの実行が中断される。
中断される場所、タイミングはバラバラ。
対策
マクロが中断されている時に Ctrl
を押しながら デバッグのリセット
ボタンをクリックすると改善する?らしい?
参考
[Ctrl] + [Y] を押すと1行消える
現象
アンドゥ([Ctrl]+[Z])しすぎて元に戻そうとした場合に、1行消えて自分自身の動きが止まる。
※バグじゃなくて仕様だけど。
対策
涙を拭きながら打ち直す。
まとめ
慌てず冷静に症状を言語化してググれるかどうかが勝負の分かれ目。