Страницы: 1
RSS
Ошибка в макросе, который создаёт примечания к ячейкам, ошибка только в определенном файле
 
Всем привет
Есть простейший макрос, который создает в ячейке примечание
Код
With ActiveCell.AddComment("Новое примечание")
        .Visible = False
        With .Shape.TextFrame
            .AutoSize = True
             With .Characters.Font
                .Bold = True
                .Size = 12
            End With
        End With
    End With
End Sub

В любых файлах, кроме одного он прекрасно отрабатывает, а в ОПРЕДЕЛЕННОМ (а он как раз и нужен постоянно и КАЖДЫЙ день) ругается на .AutoSize = True
а именно:

Run-time error "1004"
Application-defined or object-defined error

Не пойму в чем проблема
Нужный файл достаточно сложны с множеством листов, формул и т.д.. Это файл годового бюджета по месяцам. В файлах за прошлые года все нормально, а именно ЭТОГО года ругается. Заметил одну особенность, что именно при открытии ЭТОГО файла Exel ругается на ошибки "Циклические ссылки", хотя в других файлах эти циклические ссылки тоже есть (если проверить в меню Формулы - Проверка наличия ошибок - Циклические ссылки), но именно при открытии этих файлов Exel не ругается на них, а при открытии НУЖНОГО мне файла ругается. Может в ЭТОМ проблема? Хотя, с другой стороны при чем тут циклические ссылки? А может совсем и не в этом?

P.S. Провел эксперимент. Сохранил файл под другим именем и удалил почти все листы, оставил несколько. При открытии этого файла Exel уже НЕ ругается на циклические ссылки, но макрос все так же выдает ошибку на том е месте - чудеса

Кто подскажет где копать?

Заранее признателен
Изменено: NewMaestro - 25.03.2021 10:59:16
 
Похоже, файл используется из года в год, один и тот же. Накапливаются данные, накапливаются и ошибки. Вполне возможно, что пришла пора создать новую книгу, пока старая ещё открывается и можно взять нужные данные.

По поводу зацикливания вычислений. Это ненормально. Прямого влияния на работу макроса они не имеют, но все же  стоит от них избавиться.
 
Цитата
vikttur написал: Накапливаются данные, накапливаются и ошибки.
не так. На каждый новый год делается копия старого файла, в нем удаляются данные и остается только скелет. Но, естественно каждый раз файл модернизируется и вот, я так понимаю, именно тут и вылазит ошибка. При очередном изменении где вкрался косяк. Хотя понять ГДЕ, мне пока АБСОЛЮТНО не представляется возможным понять

Печально конечно это
 
Лучше сделать, как подсказал vikttur, но можно перед макросом добавить строку On Error Resume Next
 
1. можно конечно попробовать, но это ОЧЕНЬ большой пласт работы....
2. On Error Resume Next поставил - не ругается, но не отрабатывает соответственно то что надо
3. Провел еще один эксперимент - сохранил рабочий файл под другим именем, удалил абсолютно ВСЕ листы и получился как-будто новый файл, добавил новый лист, потом удалил последний оставшийся и что вы думаете? Ошибка НЕ ПРОПАЛА ! Это ТРЕШ какой-то

Макросы хранятся у меня тут c:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL­.XLSB
и используются для всех открытых книг

Во дела....
 
То, что Вы удаляете листы, данные, ещё не причина  считать, что  с книгой все в порядке. Главное в моем замечании - книга остаётся та же. А что у нее внутри после многих лет использования? Где- то когда-то что-то в структуре дало трещину - и эта неприятность при удалении листов не пропадает.
Естественно, это только догадка и предложение задуматься.
 
Полностью согласен - буду пробовать и отписываться по мере заполнения новой книги.
Благодарю

Не нужно копировать только для того, чтобы создать цитату [МОДЕРАТОР]
 
Наконец-то осуществил полный перенос данных в новый чистый файл(книгу). Все проблемы разрешились.
Страницы: 1
Наверх