Excel2010でマクロ搭載ファイルを開くと"32809"のエラーが発生する

Anonymous
2015-01-12T07:24:16+00:00

お世話になっております。

 本日、社内共通で使用している、Excel2010で作成したファイルで、メール添付されているものを、開いたところ、

 以下のエラーが発生する様になってしまいました。

 <エラー内容>

  実行時のエラー:’32809’

  アプリケーション定義またはオブジェクト定義のエラーです。

 <エラー箇所のコード>

  Worksheets("集計表").CommandButton1.Enable=False

 <エラー箇所のシート上の状態>

  エラーメッセージに記載されている、CommandButton1は、キチンと存在しており、

  エラーの発生したファイルと、同じつくりの原本ファイルでは、エラーが発生しません。

  エラーが発生するのは、特定のユーザーにより編集されたファイルを使用する時だけです。

  ※今のところ。

 当コミュニティ等でも、記載されています、『MSForms.exd』ファイルをPC内で検索して、

 見つかったものを(c:\ユーザー\Appdata\local\Excel8.0やc:\ユーザー\Appdata\local\VBE 配下に発見)

 削除はしてみましたが、状況に変化はありませんでした。

 また、当コミュニティサイト内で記載されていました、FixItも試してみましたが、変化有りませんでした。

 Office2013のうんぬんについては、当方の環境がOffice2010である為、実施はしていません。

 これに関しては、そもそも手順が良くわからず、適用すべきかも判断できかねている状況です。

 当方のPCはWindows7 Pro Sp1 & Office2010の環境です。

 どうしたら、エラーの発生を防止する事が出来るのか、ご教示をお願い致します。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

41 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2015-02-24T04:21:30+00:00

    小島 様

    私の場合,やはり皆さんと同じ現象が起きていました。私個人の環境では正常に動作するものの他の多くのPCではやはりSheets(***).Activateの行で止まってしまう。ただしシート上にフォームコントロールのボタンのみを(ActiveXではない)配置したマクロはどのPCでも動作することを確認したので,前回書いたとおりActiveXのコントロールボタンを他のものに置き換えたわけです。

    方法は以下の通りです。

    私の場合ですが(実に単純で申し訳ないのですが)

    ① コマンドボタン(ActiveXのコントロール)の配置してあるシートのモジュール(ボタンクリックで呼び出されるプロシージャやその中で使用される)のプロシージャの名前すべてをPublic Sub ***と付け直します。

    (pubulicにしないとマクロを指定するときに見えないので)

    ②  シート上のコマンドボタンを削除

    ③ エクセルの挿入タブから図形を選択し適当なものを配置します。(フォームコントロールは色や形があまり設定できないので)

    ④  図形を右クリックして”図形の書式設定”から色や効果を設定

    ⑤ 図形を右クリックしてテキストの編集からキャプションを設定(文字種,色,ポイントが選択可)

    ⑥ 図形を右クリックして「マクロの登録」を選択

    ⑦ シートモジュールの以前ActiveXのコントロールで指定されていたプロシージャを指定する。

    以上でおしまいです。

    Excell2007~2013(アップデートしてあるものやそうでないPCでも)正常に動作しています。

    ただ私の場合シート上にはコマンドボタンしか貼り付けてなかったのでできたのではないかとも思いますが,チェックボックスやオプションボタンなどはフォームコントロールを使えばいいのではないかと思います。

    シート上に1つでもActiveXのコントロールがあるとトラブルようです。

    先回にも述べたとおり,作成したユーザフォーム上のActiveXのコントロールには何も問題はありません。

    方法としては根本的な解決ではないかも知れませんが何かの参考になれば幸いです。

    ちなみに当方のマクロ作成のPC環境は

    Win7のExcell2010で,すべてのアップデートがされています。もちろん(*.exdは削除しました)

    お世話になっております、錦産業 小島です。

    to:UPR様

     ご丁寧な、ご教示恐れ入ります。

     ご連絡頂いた手順で、改善がみられるか、一度試してみます。

     結果は、改めてご返信致します。

    お世話になっております。

    to:UPR様

     ご連絡頂いた手順で、改善を試みようと思ったところ、シート上のActiveXのボタンを削除しようと、

     ②の作業を実施したところ、エラーが発生して、Excelが勝手に再起動、シートの回復が行われて

     しまい、その後再度ボタンの削除を行おうとしても、同様の事象が繰り替えされるだけで、ボタンを

     削除する事が出来ませんでした。

     こうなると、Excelのブック自体が、壊れてしまっているのか、自分のPCのExcel自体のどこか一部が

     破損してしまっているのか?

     ただ、自分のPCのExcelは少し前、このエラーに対する対処で、Office2010全体をアンインストール

     し、再度インストールしなおしていますので、自分のPCのExcelが壊れているとは、考えにくいの

     ですが。

     再度、お気づきの点がありましたら、ご教示お願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2015-02-24T02:47:52+00:00

    小島 様

    私の場合,やはり皆さんと同じ現象が起きていました。私個人の環境では正常に動作するものの他の多くのPCではやはりSheets(***).Activateの行で止まってしまう。ただしシート上にフォームコントロールのボタンのみを(ActiveXではない)配置したマクロはどのPCでも動作することを確認したので,前回書いたとおりActiveXのコントロールボタンを他のものに置き換えたわけです。

    方法は以下の通りです。

    私の場合ですが(実に単純で申し訳ないのですが)

    ① コマンドボタン(ActiveXのコントロール)の配置してあるシートのモジュール(ボタンクリックで呼び出されるプロシージャやその中で使用される)のプロシージャの名前すべてをPublic Sub ***と付け直します。

    (pubulicにしないとマクロを指定するときに見えないので)

    ②  シート上のコマンドボタンを削除

    ③ エクセルの挿入タブから図形を選択し適当なものを配置します。(フォームコントロールは色や形があまり設定できないので)

    ④  図形を右クリックして”図形の書式設定”から色や効果を設定

    ⑤ 図形を右クリックしてテキストの編集からキャプションを設定(文字種,色,ポイントが選択可)

    ⑥ 図形を右クリックして「マクロの登録」を選択

    ⑦ シートモジュールの以前ActiveXのコントロールで指定されていたプロシージャを指定する。

    以上でおしまいです。

    Excell2007~2013(アップデートしてあるものやそうでないPCでも)正常に動作しています。

    ただ私の場合シート上にはコマンドボタンしか貼り付けてなかったのでできたのではないかとも思いますが,チェックボックスやオプションボタンなどはフォームコントロールを使えばいいのではないかと思います。

    シート上に1つでもActiveXのコントロールがあるとトラブルようです。

    先回にも述べたとおり,作成したユーザフォーム上のActiveXのコントロールには何も問題はありません。

    方法としては根本的な解決ではないかも知れませんが何かの参考になれば幸いです。

    ちなみに当方のマクロ作成のPC環境は

    Win7のExcell2010で,すべてのアップデートがされています。もちろん(*.exdは削除しました)

    お世話になっております、錦産業 小島です。

    to:UPR様

     ご丁寧な、ご教示恐れ入ります。

     ご連絡頂いた手順で、改善がみられるか、一度試してみます。

     結果は、改めてご返信致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2015-02-24T01:06:26+00:00

    小島 様

    私の場合,やはり皆さんと同じ現象が起きていました。私個人の環境では正常に動作するものの他の多くのPCではやはりSheets(***).Activateの行で止まってしまう。ただしシート上にフォームコントロールのボタンのみを(ActiveXではない)配置したマクロはどのPCでも動作することを確認したので,前回書いたとおりActiveXのコントロールボタンを他のものに置き換えたわけです。

    方法は以下の通りです。

    私の場合ですが(実に単純で申し訳ないのですが)

    ① コマンドボタン(ActiveXのコントロール)の配置してあるシートのモジュール(ボタンクリックで呼び出されるプロシージャやその中で使用される)のプロシージャの名前すべてをPublic Sub ***と付け直します。

    (pubulicにしないとマクロを指定するときに見えないので)

    ②  シート上のコマンドボタンを削除

    ③ エクセルの挿入タブから図形を選択し適当なものを配置します。(フォームコントロールは色や形があまり設定できないので)

    ④  図形を右クリックして”図形の書式設定”から色や効果を設定

    ⑤ 図形を右クリックしてテキストの編集からキャプションを設定(文字種,色,ポイントが選択可)

    ⑥ 図形を右クリックして「マクロの登録」を選択

    ⑦ シートモジュールの以前ActiveXのコントロールで指定されていたプロシージャを指定する。

    以上でおしまいです。

    Excell2007~2013(アップデートしてあるものやそうでないPCでも)正常に動作しています。

    ただ私の場合シート上にはコマンドボタンしか貼り付けてなかったのでできたのではないかとも思いますが,チェックボックスやオプションボタンなどはフォームコントロールを使えばいいのではないかと思います。

    シート上に1つでもActiveXのコントロールがあるとトラブルようです。

    先回にも述べたとおり,作成したユーザフォーム上のActiveXのコントロールには何も問題はありません。

    方法としては根本的な解決ではないかも知れませんが何かの参考になれば幸いです。

    ちなみに当方のマクロ作成のPC環境は

    Win7のExcell2010で,すべてのアップデートがされています。もちろん(*.exdは削除しました)

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2015-02-23T23:33:01+00:00

    はじめまして UPRと申します。

    私はシ-トに貼り付けてあるActiveXのコントロールをすべてFormContorolや図形を利用して代用させて解決しました。今のところ,どのPCでも正常に動いています。ただコントロールが多いといやになりますが・・・

    シートに書いてあったPrivate Sub***をすべてPublicに変更してFormContorolや図形からマクロの指定をします。もし違うシートに同じ名前のプロシージャがあっても,指定する場合には頭にシート名がついてくるので混同されることはないようです。

    ユーザーフォーム上のActiveXのコントロールには問題がないので変更の必要はありません。

    どうもシート上のActiveXのコントロールの扱いが変わってしまったようです。

    根本的な解決方法ではないかも知れませんが・・・・・とりあえずです。

    お世話になっております、錦産業 小島です。

    to:UPR 様

     大変参考となる書き込みありがとうございます。

     可能でしたら、書き込んで頂いた手法の、具体的な手順をご教示頂けますでしょうか?

     現在、ActiveXのボタンと、そのボタンに対する制御(有効化、無効化)におけるコードでエラーが発生する他に、

     エラーとなったコードをコメント化すると、その直後に記載している、Worksheets("~").selectで、エラー発生して

     いる状況ですので、ActiveXのボタンでもエラーが解消すれば、一旦解決しそうな気もしますので、よろしく

     お願い致します。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2015-02-23T13:38:22+00:00

    はじめまして UPRと申します。

    私はシ-トに貼り付けてあるActiveXのコントロールをすべてFormContorolや図形を利用して代用させて解決しました。今のところ,どのPCでも正常に動いています。ただコントロールが多いといやになりますが・・・

    シートに書いてあったPrivate Sub***をすべてPublicに変更してFormContorolや図形からマクロの指定をします。もし違うシートに同じ名前のプロシージャがあっても,指定する場合には頭にシート名がついてくるので混同されることはないようです。

    ユーザーフォーム上のActiveXのコントロールには問題がないので変更の必要はありません。

    どうもシート上のActiveXのコントロールの扱いが変わってしまったようです。

    根本的な解決方法ではないかも知れませんが・・・・・とりあえずです。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません