ExcelVBA(マクロ)実行時エラーとなり、文字が黄色く塗り潰された時の解除方法/リセットボタンの使い方

magnifying IT

VBAもプログラムなので、式が複雑になればなるほどデバッグの連続となります。デバッグそのものはさまざまな原因があるのでここで一概に言えませんが、とりあえず文字が黄色くなっちゃった状態の解除方法をここでは解説しています。

Advertisements

実行時エラーの解除方法

vbaerror1
今回は例として、autofilterメソッドを用います。こんな感じの式を用意して……。
vbaerror2
マクロを実行してみます。
vbaerror3
構文エラーになりました。
vbaerror4
OKを押すと、どうもこのへんが怪しいというところが赤くなり、Sub Macro1()が黄色く塗り潰されました。このどこかの文字が黄色く塗り潰された状態が中断モードです。
vbaerror5
構文については、列番号の後ろの,を付け忘れていたことが原因のようです。
vbaerror6
しかし上書き保存をしても、マクロを実行しようとすると中断モードではできない旨ダイアログが出ます。
vbaerror7
中断モードを終了するには、上にあるリセットボタンを押します。
vbaerror8
ボタンを押すと黄色い塗り潰しが解除されました。
vbaerror9
これでマクロが実行可能になりました。
vbaerror10
今度は、列番号をまるごと削除して実行してみます。
vbaerror11
実行時エラーになりました。
vbaerror12
構文エラーに比べると実行時エラーはどこが原因かはっきりしているようです。「終了」を押すと中断モードにならずダイアログが閉じ、「デバッグ」を押すとこのように疑わしい行が黄色く塗り潰されます。
vbaerror13
式を修正し、リセットボタンを押します。これで再度マクロが実行可能になりました。

中断モードの解除方法については以上です。

やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ

コメント