У нас есть определяемая пользователем функция VBA. Эта функция возвращает результат, но также устанавливает комментарий к ячейке. Работает, получаем результат и комментарий ставится.
Мы включили справку пользователя по этой функции. Однако, если пользователь щелкает Fx, чтобы получить справку, Excel аварийно завершает работу. Если закомментировать настройку комментария к ячейке, справка работает. Добавление "On Error"
не решило проблему.
Мы подозреваем, что проблема в том, что когда Excel запускает функцию из справки «Fx», он не может установить комментарий к ячейке, потому что фактически ячейки нет.
Есть ли в Excel флаг, который мы можем использовать, чтобы определить, что Excel запускает функцию на экране справки «Fx», и пропустить установку комментариев?
Любые другие идеи приветствуются.
Код для установки комментария, который вызывается нашей UDF:
Sub SetRangeComment(rng As Range, comment As String, intHeight As Long, intWidth As Long)
On Error GoTo IgnoreError
rng.ClearComments
rng.AddComment comment
If intHeight > 0 Then
rng.comment.Shape.height = 13 * intHeight
End If
If intWidth > 0 Then
' rng.comment.Shape.width = 6 * intWidth
End If
Exit Sub
IgnoreError:
Exit Sub
End Sub
application.caller
Но что вы имеете в виду под вылетами? Это ошибка? Что, если вы пошагово пройдете код, где произойдет сбой? - person Raystafarian   schedule 30.06.2015