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-20T02:03:50+00:00

    ​正裕小島 さん、こんにちは。

    ご返信、ありがとうございます。

    CommandButton 名が変わるといった動作になるということなのですね。。

    こちらの手元の Excel 2010 ではエラー 32809 は確認できていないですが、 CommandButton が変化する現象は確認できています。

    (新規 Excel ブックで CommandButton を挿入すると CommandButton21 から始まる動作になります)

    確認してみた印象なのではっきりとした原因ではないですが、この CommnadButton 名が変わる動作が関連していてマクロが動作しなくなったり、エラーメッセージが出るということのように思います。

    手元環境でこの現象の回避策や発生原因を調べてみましたが、現時点では回避方法や回避策が書かれた情報が見つからないという状況です。。

    ただ Excel ブック単位で問題を回避するということであれば、以下の方法で CommandButton を修正してみたところ、マクロが動作するようになりました。

    こちらが試してみた結果なので、同じように回避できるかは解らないのですが、以下の方法を参考に試してみるというのはいかがでしょう。

    1. 問題の Excel ブックを開く
    2. [開発タブ] タブ > [デザイン モード] をクリック > CommandButton を選択 > 右クリックで [プロパティ] を開く
    3. プロパティの [オブジェクト名] と [Caption] を手動で正しい名前 (元々作成していたオブジェクト名) に修正する

    ↓

    1. プロパティを閉じて CommandButton を右クリックし、 [コードの表示] を開く
    2. コードのオブジェクト名も手動で修正する (オブジェクト名、 Caption 名と同じにする)

    シート内に複数のボタンが配置されている場合は修正が大変かと思うのですが、参考にしてみてください。

    うまく回避ができるとよいのですが、試してみた場合は結果を書き込んでみてくださいね。

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

    to:Microsoft 大沢様

     いつも、ご助言頂きありがとうございます。

     ご提案頂いた、オブジェクト名とCaptionを同じ名前に手動で変更して、回避できるかの件ですが、

     前回投稿させて頂いた際に、既にその方法は自分でも、試してみたのですが、うまく回避出来ません

     でした。

     手動で修正を行っても、結局別の名前(ComanndBottun6等)に変わってしまい、同じ事象が繰り返される

     だけでした。

     せっかく、ご助言頂いたのですが、こちらの環境では、うまくいきませんでした。

     また、別の方法などありましたら、ご助言頂きたく、よろしくお願い致します。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2015-02-20T01:46:15+00:00

    ​正裕小島 さん、こんにちは。

    ご返信、ありがとうございます。

    CommandButton 名が変わるといった動作になるということなのですね。。

    こちらの手元の Excel 2010 ではエラー 32809 は確認できていないですが、 CommandButton が変化する現象は確認できています。

    (新規 Excel ブックで CommandButton を挿入すると CommandButton21 から始まる動作になります)

    確認してみた印象なのではっきりとした原因ではないですが、この CommnadButton 名が変わる動作が関連していてマクロが動作しなくなったり、エラーメッセージが出るということのように思います。

    手元環境でこの現象の回避策や発生原因を調べてみましたが、現時点では回避方法や回避策が書かれた情報が見つからないという状況です。。

    ただ Excel ブック単位で問題を回避するということであれば、以下の方法で CommandButton を修正してみたところ、マクロが動作するようになりました。

    こちらが試してみた結果なので、同じように回避できるかは解らないのですが、以下の方法を参考に試してみるというのはいかがでしょう。

    1. 問題の Excel ブックを開く
    2. [開発タブ] タブ > [デザイン モード] をクリック > CommandButton を選択 > 右クリックで [プロパティ] を開く
    3. プロパティの [オブジェクト名] と [Caption] を手動で正しい名前 (元々作成していたオブジェクト名) に修正する

    ↓

    1. プロパティを閉じて CommandButton を右クリックし、 [コードの表示] を開く
    2. コードのオブジェクト名も手動で修正する (オブジェクト名、 Caption 名と同じにする)

    シート内に複数のボタンが配置されている場合は修正が大変かと思うのですが、参考にしてみてください。

    うまく回避ができるとよいのですが、試してみた場合は結果を書き込んでみてくださいね。

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

    0 件のコメント コメントはありません
  3. Anonymous
    2015-02-17T07:27:08+00:00

    ​MakotoYamaguchi さん

    情報提供とアドバイスのコメントをありがとうございます。

    正裕小島 さん、こんにちは。

    ご返信をありがとうございます。

    コピーして別のエラーメッセージが発生するということであれば、コピーされた内容に問題があるということが考えられるのかもしれませんね。

    作業が多くなってしまうのですが、すべてを一度にコピーするのではなく、内容の一部を貼り付けて、動作を確認しながら新規ブックに移行する方法はいかがでしょうか。

    また、今回の症状はこの VBA モジュールに要因があるかもしれないので、 VBA モジュールに関しては新規で作り直してみるのもよいと思いますよ。

    試してみて、また気づかれた点があれば追加で書いてみてくださいね。

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

    Microsoft 大沢様

     ご連絡ありがとうございます。

     ご助言頂いた、1つ1つ動作を確認しながら、エラー原因となっている箇所を特定する作業に、

     先立ち他に見落としている箇所が無いか、確認を行っていて、気が付いた箇所が見つかりました。

     エラーが発生している、ActiveXのボタンですが、マクロとボタンを作成した当初は、CommandButton1で

     コードを記載し、VBAのプロパティウィンドウにも、CommandButon1で表示されていたのですが、

     本日再度確認したところ、CommandButton4に変わっていました。

     また、名前を日本語の名前にしたり、半角英文字の固有な名前にしたりして、動作を確認していたところ、

     先程の、CommandButton4が、CommandButton6になったり、CommandButton10になったりと、

     何のキッカケかは不明ですが、ボタンのオブジェクト名が、ころころ変わっている事に気づきました。

     このボタンは、Excelブックを開いたときに、無効化する処理を入れており、無効化するコードには、

     対象とするボタンをCommandButton1で記載をしている為に、Excelブックを起動する度に、

     このようにボタンのオブジェクト名が変わってしまっては、どのボタンを無効化するのかが、解らなくなり、

     今回のエラーが発生しているのではと、思いました。

     この事象を、回避する方法は、無いのでしょうか?

     ご助言の程、よろしくお願いいたします。

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

    0 件のコメント コメントはありません
  4. Anonymous
    2015-02-17T06:24:01+00:00

    ​MakotoYamaguchi さん

    情報提供とアドバイスのコメントをありがとうございます。

    正裕小島 さん、こんにちは。

    ご返信をありがとうございます。

    コピーして別のエラーメッセージが発生するということであれば、コピーされた内容に問題があるということが考えられるのかもしれませんね。

    作業が多くなってしまうのですが、すべてを一度にコピーするのではなく、内容の一部を貼り付けて、動作を確認しながら新規ブックに移行する方法はいかがでしょうか。

    また、今回の症状はこの VBA モジュールに要因があるかもしれないので、 VBA モジュールに関しては新規で作り直してみるのもよいと思いますよ。

    試してみて、また気づかれた点があれば追加で書いてみてくださいね。

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

    0 件のコメント コメントはありません
  5. Anonymous
    2015-02-13T01:37:33+00:00

    Microsoft 大沢様

     いつも、ご助言ありがとうございます。

     ご提案頂いた方法で、改善されるかためしたところ、対象のシートを削除しようとすると、

     『Microsoft Excelは動作を停止しました』が発生して、ファイルが閉じてしまいます。

     何度やっても同じなので、そもそも、エラーの発生するファイルは、ファイルそのものが、見た目には

     わからないですが、破損してしまっているのでしょうか?

     だとしたら、どのタイミング、何をした事によって、破損したのでしょうか?

     ファイルを使用している最中に、エラー等が発生した場合は、自分のところに何かしら連絡が

     あるはずですし、編集・変更した際には、何ともなく、エラーが発生した当初の様に、メールに添付

     されていたものを、開こうとしたり、NAS上に保存したりした際に、破損してしまっていたのですかね?

     いづれにしても、ご紹介頂いた手順での検証は、試すことが出来ませんでした。

     せっかく、助言頂いたのに、申し訳ありません。

    錦産業 小島さま

    はじめに、私はMicrosoftの大沢さんではないです。

    山口と申します。初めまして。

    ちゃんと名前を明記せず混乱させてしまい申し訳ありません。

    さて、『Microsoft Excelは動作を停止しました』が発生してシートが削除できないとのことですが、それは私も同様に発生しました。

    私の場合は、何台かのPCで試したところ削除できるPCがありました。何台か他のPCで試してみてください。

    どうしてもエラーが発生して削除できない、という場合は、以下の方法ではいかがでしょうか?

    1.エラーになるブックを開く。

    2.新規ブックを作成。

    3.エラー対象の(おそらくActiveXオブジェクトが置いてある)シートを含め「全シート」を新規ブックへコピー。

    4.さらに、VBAモジュールなども新規ブックへコピー。

    5.新規ブックを保存。

    6.オリジナルのブックはお蔵入りして、5で保存したブックを正とする。

    上記は試しておりません。この方法でコピーしきれない情報があるかもしれず、新しく正としたブックの全機能が正常に動作するか確認する必要がありますが試してみる価値はあると思います。

    山口様

     お名前を間違えてしまい、大変申し訳ありませんでした。

     私の方も、お名前が記載されているか、良く確認もせずに、以前からご助言頂いていた方と、

     思い込み、記載をしておりました。大変失礼いたしました。

     今回、山口さんにご助言頂いた方法を試しましたが、全シートのコピーはすんなり出来ました。

     また、VBAのモジュールもエクスポート、インポートで、新ファイルに問題無く移行はできた様に

     みえましたが、いざファイルを保存しようとしたら、ファイルが破損しています等のメッセージが

     表示されて、保存する事が出来ませんでした。自動修復もかかったみたいですが、自動修復自体も、

     破損が深刻な為に、全機能を保存できず、最低限の情報だけが修復されたみたいな表示が

     されましたが、実際には、保存できず、単に閉じる事しかできませんでした。

     せっかくのご助言ではありましたが、進展する事が出来ませんでした。

     また何かお気づきの点がありましたら、ご助言をお願い致します。

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

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