16

職場の同僚が私たちのマクロ ワークブックの 1 つにいくつかの変更を加えました。現在、私の PC で実行しようとすると、恐ろしい実行時エラー '32809' が表示されます。この最新バージョンは、彼の PC と、私たちがテストした別の同僚の PC で問題なく動作します。以前のバージョンは、Excel 2010 を実行しているすべての PC で正常に動作します。

マクロが "Info" という名前のワークシート インデックス 1 を選択しようとすると、エラーがスローされます。Select/Activate が必要ないことはわかっていますが、今のところこのワークブックで作業しているだけで、なぜ私だけがこのエラーを受け取るのかを解明しようとしています。

私が試してみました:

  1. 再起動/電源の再投入
  2. ワークブックのコピーを保存する
  3. CCleanerで一時ファイルを一掃する
  4. オンライン調査
  5. ActiveX コントロールの確認 (フォーム コントロールを使用)

すべて成功しませんでした。その後、すぐにウィンドウを少し混乱させて、単純なものでさえあることを発見しました:

Debug.Print ThisWorkbook.Worksheets(1).Name

実行時エラーがスローされるため、ワークシートが何らかの形で破損したと思われます。_Activate と _Change を含むいくつかのイベントをワークシートに追加しましたが、確認した後でも発生するイベントはありません。

Application.EnableEvents = True

次のように簡単な Test Sub を追加しました。

Public Sub Test()

    Dim ws As Worksheet
    Dim sheetNum As Integer

    For Each ws In ThisWorkbook.Worksheets
        ws.Select           ' Selects all Sheets Without Error
        Debug.Print ws.Name ' Prints All Worksheet Names Fine
    Next ws

    Set ws = ThisWorkbook.Worksheets(1)
    ws.Select               ' Selects Sheet 1 Without Error

    ' Prints all but sheetNum = 1, Run-time Error 32809
    For sheetNum = 7 To 1 Step -1
        Debug.Print ThisWorkbook.Worksheets(sheetNum).Name
    Next sheetNum

    ' Run-time Error 32809
    ThisWorkbook.Worksheets(1).Select

End Sub

これに似た問題に遭遇した人、または一部の PC でのみこのエラーが発生する原因を知っている人はいますか?

4

18 に答える 18

10

私の場合、以下が役立ちました:

  1. ファイルを名前を付けて保存.xlsx(マクロなし) - 保存中にすべてのマクロが消去されます。
  2. マクロを使用してソース ファイルを開き、モジュールを.xlsxファイルにコピーします。
  3. ファイルを名前を付けて保存.xlsm- 完全な再コンパイルが実行されました。

その後、すべてが正常に機能し始めました。200 以上のシートと 50 以上のマクロを含むファイルがあり、各モジュールにコメントを投稿しても役に立ちませんでしたが、このソリューションは機能しました。

于 2015-04-29T12:00:33.193 に答える
1

クライアント用のアプリケーションを開発しているときに、この問題が発生しました。私のマシンでの作業では、コード/フォームなどは完全に機能しましたが、クライアントのシステムにロードすると、アプリケーション内のある時点でこのエラーが発生しました。

このエラーに対する私の回避策は、VBA モジュールとフォームを削除して、ワークブックをフォームとコードから切り離すことでした。これを行った後、クライアントは「ベア」ワークブックとモジュールとフォームをコピーしました。マクロが有効なワークブックにフォームとコードをインポートすると、アプリケーションが再び機能するようになりました。

于 2015-01-19T16:15:42.197 に答える
1

これは、Excel 2010 を使用して機能し、macro-enabled .xlsmファイルを開くときに同じエラーが発生しました。

-エラー ダイアログを閉じた後、" save as" タブ区切り.txtファイルを実行します。クリックOKして

...アクティブなシートのみ。

...機能が保存されていません。

-次に " save as" を繰り返しますが、今回はmacro-enabled .xlsmフォーマットを選択します。(別のファイルに保存するか、オリジナルを上書きするかは問題ではありませんが、別のファイルとして保存する方が安全です。)

-Excel を閉じます。

-新しく保存した.xlsmファイルを開きます。私の場合、エラー メッセージは消え、マクロは機能しています。

于 2015-10-21T18:07:58.603 に答える
1

同様の(ほとんど説明できない)動作に遭遇しました

ディレクトリ C:\Users\username\AppData\Local\Temp の下に .exd ファイルを削除するための参照が見つかりました Excel8.0 と VBE の各ディレクトリに 1 つずつあります。典型的な名前は MSForms.exd です

Google "Excel exd" または "KB 2553154" 私の見解では、これは少なくとも 1 か月間続いている完全に容認できない状況です。

于 2015-01-12T16:18:38.257 に答える
0

シートからすべての ActiveX コントロールを削除したところ、エラー メッセージが表示されずにスムーズに動作するようになりました。それが私の解決策です。

于 2015-02-19T15:38:02.697 に答える
0

私は次のことを行い、魅力的に働きました:

  1. Office 2013 をインストールします (2010 は試していませんが、うまくいくと思います)。
  2. Office 2013 SP1 をインストールします。
  3. Windows Update を実行し、Office と Windows のすべての更新プログラムをインストールします。
  4. コンピュータを再起動します。
  5. 終わり。

これは、2つの異なるコンピューターで機能しました。これがあなたのものでもうまくいくことを願っています!

于 2015-06-03T17:55:52.113 に答える
0

私は解決策を見つけました。 次の Office 更新プログラムをダウンロードするだけです: https://support.microsoft.com/en-us/kb/2920754

32 ビットまたは 64 ビットを選択してインストールします。

私のために働いた、それがあなたのために働くことを願っています。

よろしく

于 2016-02-03T13:42:08.127 に答える
0

私も同じ問題を抱えており、これが Microsoft の脆弱性の問題であることがわかりました。

これらの更新パッチをインストールすると、うまくいきます。これらのパッチは www.microsoft.com で見つけることができます。

  1. Office 2010 のバージョンが SP1 の場合は、最初に Office SP2 パックをダウンロードしてインストールする必要があります。更新パッチ名は KB2687455 です。

  2. 更新パッチ KB2965240 をインストールします。

    このセキュリティ更新プログラムは、Microsoft Office の脆弱性を解決します。この脆弱性により、攻撃者が、影響を受けるバージョンの Office で特別に細工された Microsoft Excel ブックを開くかプレビューするようにユーザーを誘導した場合、リモートでコードが実行される可能性があります。攻撃者がこれらの脆弱性を悪用した場合、現在のユーザーと同じユーザー権限を取得する可能性があります。

  3. 更新パッチ KB2553154 をインストールします。

    Microsoft Office 2010 32 ビット版にセキュリティの脆弱性が存在し、悪意を持って変更されたファイルを開くと、任意のコードが実行される可能性があります。この更新プログラムは、その脆弱性を解決します。

于 2017-02-24T03:56:50.013 に答える
0

VBAモジュールをエクスポートしました-ファイルを再保存してから、モジュールを再度インポートしましたが、すべて問題ありません

于 2015-07-30T07:03:47.747 に答える