Сотрудник на работе внес некоторые изменения в одну из наших макроэкономических книг, и теперь на моем ПК только я получаю ужасную ошибку времени выполнения "32809", когда я пытаюсь запустить ее. Эта последняя версия отлично работает на его ПК и другом компьютере коллеги, на котором мы тестировали его. Предыдущая версия отлично работает на всех наших ПК, все из которых работают с Excel 2010.
Ошибка возникает, когда макрос пытается выбрать индекс 1 рабочего листа с именем "Информация". Я знаю, что Select/Activate не требуется, но сейчас я просто работаю с этой рабочей книгой и пытаюсь понять, почему я один получил бы эту ошибку.
Я пробовал:
- Reboot/Power Cycle
- Сохранение копии рабочей книги
- Очистка файлов Temp с помощью CCleaner
- Исследование онлайн
- Проверка элементов управления ActiveX (использует элементы управления формой)
Все без успеха. Затем у меня было немного беспорядка в ближайшем окне и обнаружил, что даже простой:
Debug.Print ThisWorkbook.Worksheets(1).Name
будет бросать ошибку во время выполнения, которая заставляет меня поверить, что каким-то образом Рабочий лист сломался. Я добавил несколько событий в Рабочий лист, включая _Activate и _Change, но никто не смог бы уйти даже после подтверждения того, что:
Application.EnableEvents = True
Я добавил простой тестовый 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
Кто-нибудь сталкивается с чем-то похожим на это или знает, почему эта ошибка возникает только на некоторых ПК?