職場の同僚が私たちのマクロ ワークブックの 1 つにいくつかの変更を加えました。現在、私の PC で実行しようとすると、恐ろしい実行時エラー '32809' が表示されます。この最新バージョンは、彼の PC と、私たちがテストした別の同僚の PC で問題なく動作します。以前のバージョンは、Excel 2010 を実行しているすべての PC で正常に動作します。
マクロが "Info" という名前のワークシート インデックス 1 を選択しようとすると、エラーがスローされます。Select/Activate が必要ないことはわかっていますが、今のところこのワークブックで作業しているだけで、なぜ私だけがこのエラーを受け取るのかを解明しようとしています。
私が試してみました:
- 再起動/電源の再投入
- ワークブックのコピーを保存する
- CCleanerで一時ファイルを一掃する
- オンライン調査
- 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 でのみこのエラーが発生する原因を知っている人はいますか?