Всем привет Есть простейший макрос, который создает в ячейке примечание
Код
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 уже НЕ ругается на циклические ссылки, но макрос все так же выдает ошибку на том е месте - чудеса
Похоже, файл используется из года в год, один и тот же. Накапливаются данные, накапливаются и ошибки. Вполне возможно, что пришла пора создать новую книгу, пока старая ещё открывается и можно взять нужные данные.
По поводу зацикливания вычислений. Это ненормально. Прямого влияния на работу макроса они не имеют, но все же стоит от них избавиться.
vikttur написал: Накапливаются данные, накапливаются и ошибки.
не так. На каждый новый год делается копия старого файла, в нем удаляются данные и остается только скелет. Но, естественно каждый раз файл модернизируется и вот, я так понимаю, именно тут и вылазит ошибка. При очередном изменении где вкрался косяк. Хотя понять ГДЕ, мне пока АБСОЛЮТНО не представляется возможным понять
1. можно конечно попробовать, но это ОЧЕНЬ большой пласт работы.... 2. On Error Resume Next поставил - не ругается, но не отрабатывает соответственно то что надо 3. Провел еще один эксперимент - сохранил рабочий файл под другим именем, удалил абсолютно ВСЕ листы и получился как-будто новый файл, добавил новый лист, потом удалил последний оставшийся и что вы думаете? Ошибка НЕ ПРОПАЛА ! Это ТРЕШ какой-то
Макросы хранятся у меня тут c:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB и используются для всех открытых книг
То, что Вы удаляете листы, данные, ещё не причина считать, что с книгой все в порядке. Главное в моем замечании - книга остаётся та же. А что у нее внутри после многих лет использования? Где- то когда-то что-то в структуре дало трещину - и эта неприятность при удалении листов не пропадает. Естественно, это только догадка и предложение задуматься.