(前置き)
現在勤めている会社は未だにアナログな会社なので、ソフトとかアプリは買ってもらえません。業務のメイン担当者が手書きで帳簿をつけてるので、導入しても意味ないんですよね・・・(つまり導入できない)。仕方ないので、私は、独学で毛の生えたくらいの VBA 知識を駆使して Excel 処理を自動化、少しでも業務を楽に、、とちまちま頑張ってます。意外と、便利な VBA ができると、これいいじゃん!最高 ♪ と、ひとり満足。誰も褒めてくれないのがちょっと虚しい(でも自分は楽になる)。
(現象)
入力ミスを減らす為に、記入欄を ON/OFF できる ActiveXコントロールのチェックボックスと、一括処理のマクロを組み合わせてるところで、以前から時々エラーが起こります。さっきまで正常動作してたチェックボックスが、突然チェックできなくなるのです。
大抵は Excel 再起動でエスケープ出来てたけど、今回はできない。再起動しても、バックアップファイルをひっぱり出してコピーしても、エラーになる。なんでよ(小1時間)。
(解決)
あまりに「急に動かなくなる(チェックボックスにチェックできない)」ので、仕方ないから最初から作り直しか、とやろうとしたら、そもそも、ActiveXコントロールが挿入できない事がわかりました。
とても親切なサイトさんで一応解決。ありがとうございます。
ExcelのActiveXコントロールの挿入で「オブジェクトを挿入できません」というエラーになる場合の対処: 小粋空間
ActiveXコントロールを挿入しようとすると「オブジェクトを挿入できません」というエラーのなるので、親切サイトさんの言う通りに、エクスプローラーで「.exd」という拡張子のファイルを検索。Cドライブの、User フォルダ以下の、AppData の中に2つありました。サクッと「.exd」ファイルを削除して Excel を再起動したら OKになりました。
ところが、組み合わせているマクロ(該当ファイルを開いてない場合は、ファイルを開く)を動かすと、再び「.exd」ファイルが同じ場所に作成されてしまい、エラーに・・・。
仕方ないので、該当ファイルを開きっぱなしにしてマクロを動かしたら OKでした。やや、取り敢えずな解決になったけど(マクロの作り方が悪いっぽい?)、自分メモとして記録しておきます。
ExcelのActiveXコントロールの挿入で「オブジェクトを挿入できません」というエラーになる場合、
「.exd」という拡張子のファイルを User¥AppData から検索して削除しましょう。
以上。
2023年8月追記)
この記事を書いた後もしばしば同じ現象が起きます。やめてほしい。
今回は、前日の夕方に動いていたプルダウンが動作しなくなり・・・この記事を見返して、USER フォルダ以下から .exd を検索 ⇒ 削除。
・・・したのに直ってない!
困ったな。ところが、同じ作りのファイルを試したら、プルダウンは正常動作。ActiveX コントロールも挿入可。特定のファイルだけが、「オブジェクトを挿入できません(動作も不可)」という事態に。
改めて Web 検索やらした結果、更新プログラムの再インやらOfficeの修正やら出てきたけど、違うよね、特定ファイルのみの現象だし、数時間前は問題なかったんだし…。
ということで、.exd ファイルを、今度は、C ドライブから検索することに。
出てきました。さっきも検索した User フォルダ以下なんだけど・・・
更新日時的にはついさっき。なにもしてないけどなぁ?
取り敢えず、この2つを削除 ⇒ 動作しました!・・と思ったらまた出来なくなる。このファイルを、開くだけで .exd ファイルが作成されてしまうみたいな。何故;
なぜこのファイルがそうなってしまったのか、原因がわからないので仕方なく、数日前のバックアップファイルを使う事にしました。データの貼付けとか面倒だけど仕方ない。
.exd ファイルは、Excel 全体で使うものではなく、特定ファイルに紐づくファイルなんでしょうかね?
2023年8月追記2)
同じ現象がしばしば起きます。状況は直近と同じ、開くだけで .exd が作成されてしまう。
今回は、別名で保存、をやってみました。そうしたら、解消されました(別名保存したまったく同じファイルだけど、.exd は作成されず、動作してくれた)。
特定操作によって、.exd が作成されるファイルになってしまうのか。なにかも動作が kill されずにファイルを開く度に動くのかな??わかりません・・・。