小島 様
私の場合,やはり皆さんと同じ現象が起きていました。私個人の環境では正常に動作するものの他の多くのPCではやはりSheets(***).Activateの行で止まってしまう。ただしシート上にフォームコントロールのボタンのみを(ActiveXではない)配置したマクロはどのPCでも動作することを確認したので,前回書いたとおりActiveXのコントロールボタンを他のものに置き換えたわけです。
方法は以下の通りです。
私の場合ですが(実に単純で申し訳ないのですが)
① コマンドボタン(ActiveXのコントロール)の配置してあるシートのモジュール(ボタンクリックで呼び出されるプロシージャやその中で使用される)のプロシージャの名前すべてをPublic Sub ***と付け直します。
(pubulicにしないとマクロを指定するときに見えないので)
② シート上のコマンドボタンを削除
③ エクセルの挿入タブから図形を選択し適当なものを配置します。(フォームコントロールは色や形があまり設定できないので)
④ 図形を右クリックして”図形の書式設定”から色や効果を設定
⑤ 図形を右クリックしてテキストの編集からキャプションを設定(文字種,色,ポイントが選択可)
⑥ 図形を右クリックして「マクロの登録」を選択
⑦ シートモジュールの以前ActiveXのコントロールで指定されていたプロシージャを指定する。
以上でおしまいです。
Excell2007~2013(アップデートしてあるものやそうでないPCでも)正常に動作しています。
ただ私の場合シート上にはコマンドボタンしか貼り付けてなかったのでできたのではないかとも思いますが,チェックボックスやオプションボタンなどはフォームコントロールを使えばいいのではないかと思います。
シート上に1つでもActiveXのコントロールがあるとトラブルようです。
先回にも述べたとおり,作成したユーザフォーム上のActiveXのコントロールには何も問題はありません。
方法としては根本的な解決ではないかも知れませんが何かの参考になれば幸いです。
ちなみに当方のマクロ作成のPC環境は
Win7のExcell2010で,すべてのアップデートがされています。もちろん(*.exdは削除しました)