先日、Excelでマクロの説明記事を書いていた時、とある問題に直面しました。
なんと、マクロを実行するダイアログで「実行」ボタンが無効になってしまい、マクロを実行できないのです。
実行ボタンだけではなく、編集や削除のボタンも無効だったんです。
他のマクロは普通に実行できるのに・・・。
ちょっとこの問題はハマりかけたので、シェアしておきたいと思います。
Excelマクロが実行きない問題とは?
まずは起きた問題について図を使って説明します。
下の図を見てください。
「作成」ボタンに比べて「実行」ボタンのテキストが少し薄くなっています。
「ステップ イン」ボタンや「編集」ボタンも同じように薄くなっているんです。
つまりグレーアウトした状態で、これらのボタンが無効になってしまっています。
だから、マクロを実行したくても実行できません。
これが私が直面した問題なのです。

VBEにはきちんとマクロのコードを書いて、事前コンパイルしてもエラーが出ませんでした。
だからコードの記述ミスという可能性はないです。

これ何が原因なのかが全くわからなくて10分くらい考えました。
ドツボにはまりそうでした。
その前に「あ!」って原因に気づいて良かったですが。。。
マクロダイアログ画面で「実行」ボタンが無効になる原因
ググってみたら、マイクロソフト公式のサポートページがヒットしました。
そこにこの問題のことが書かれていました。
こちらのページです。
どうやら、マクロの名称に「C1」が入っていたことが原因だったようです。
なぜ、マクロ名にセルを表す文字列が入っていると問題になるのか、その理由まではわからなかったですけど。
でも、原因がわかったので対処は簡単ですね。
この文字列、つまり「C1」を取り除けばいいだけです。
取り除いたら、ちゃんと「実行」もその他のボタンもすべて有効になりました。

まとめ
- マクロダイアログで「実行」ボタンがグレーアウトになる原因は、マクロ名にセルを表す文字列が入っていること
- マクロ名からセルを表す文字列を取り除けば問題は解決する
この問題のことをググったとき、上で紹介したマクロソフトのページ以外に有用なサイトはヒットしませんでした。
レアな問題なのか、あまり関心がないのか・・・いずれにせよ情報が少なそうなのでシェアしておきます。
コメント