У меня есть Workbook Открыть макрос, который подсчитывает количество строк в таблице на открытии, так что я могу подвести итог, как были добавлены или удалены много записей во время ввода данных сессии:
Private Sub Workbook_Open()
Dim TotalRows As Integer
TotalRows = Worksheets("Data").ListObjects(1).ListRows.Count
If Range("LastRecordOnStart") <> TotalRows Then Range("LastRecordOnStart") = TotalRows
' Stop
End Sub
Я начал получать ошибка выполнения «32809» с помощью следующей строки в коде выше выделенного в отладчике каждый раз, когда я открыл книгу ...
TotalRows = Worksheets("Data").ListObjects(1).ListRows.Count
Перезагрузка или открытия книги на другой компьютер все равно не исправить. Даже открытие ранее сохраненной рабочей копии даст ту же ошибку - странно. Примечание:
Во время кодирования я периодически буду сохранять книгу и использовать проводник Windows для копирования моментального снимка книги, где он создает копию моей работы (1) .xlsm, copy (2) .xlsm и т. Д., И если я получу поврежденная книга, я переименую ее myworkbook.bad.xlsm и переименую последнюю сохраненную рабочую версию (например, копия моей работы (6) .xlsm в MyWorkbook.xlsm с минимальными потерями.
Когда эта ошибка во время выполнения происходит, мне приходилось перестраивать книгу несколько раз. Это происходит только тогда, когда рабочая книга падает после долгого сеанса отладки нового кода с помощью Userform open, и мне нужно закрыть Excel из диспетчера задач.
Я читал сообщения здесь сегодня и был убежден, что это была страница, связанная, когда я мог перечислить количество списков на другом листе, и если бы я преобразовал Listobject на листе «Данные» обратно в диапазон и воссоздал таблицу, я 'd все еще получить ошибку времени выполнения. Чтобы вырезать Короче говоря, я попробовал следующее:
- Открыть учебное пособие
- Когда ошибка выскочила, щелкнул отлаживать
- правой нажал на строке «End Sub» переводника Workbook_Open и нажал «Установить следующий оператор»
- прессованная F5, чтобы код, чтобы закончить выполнение
- Сохраненный книгу, и все это работает сейчас!
У меня был еще один сбой с последующей ошибкой во время выполнения и повторил шаги выше, и это снова заработало шарм.
Привет и добро пожаловать Грег. Если вы получаете доступ к листу по его названию (имя, которое вы ожидаете увидеть напечатанным), вместо листов (2), что происходит? –
О, я вижу, это имя должно быть «Резюме», но оно как бы искажено. –
Прежде чем переписать книгу, перезагрузите компьютер и повторите попытку. Окружающая среда VBA может стать нестабильной после сбоев в программировании. – Jeeped