1

У меня есть довольно большой лист Excel, в котором отслеживаются наши соревнования по гольфу. Чтобы ускорить лист (для использования на моем старом ноутбуке), я пытаюсь ограничить количество автоматических вычислений. Например, общая оценка рассчитывается только в том случае, если вы вводите последнюю лунку (добавляя IF).

Тем не менее, мой DirectWindow (тот, который подается операторами debug.print) показывает, что после каждой записи выполняется много вычислений. Кажется, что вычисления запускаются функциями (UDF), которые начинаются с = IFERROR.

Итак, мой вопрос: насколько я знаю, IFERROR не является изменчивой функцией, я все равно не могу найти доказательств этого. Но есть ли у кого-то опыт обратного?

1 ответ1

1

Нет - IFERROR энергонезависимый. Я только что проверил это следующим образом:

  1. Добавлен следующий VBA для Sheet1:

    Private Sub Worksheet_Calculate() MsgBox "Calculating" End Sub

  2. Установите для ячейки A1 значение =NA()

  3. Установите для ячейки B1 значение `= IFERROR(A1," OHNO!«)

Это приводит к отображению окна сообщения. Однако ввод данных в другую ячейку невозможен.

Затем я изменил А1 на число "1" и получил окно сообщения. Ввод данных в другую ячейку после этого не имеет значения.

Затем я добавил в ячейку C1 =NOW() . Это привело к тому, что каждый раз, когда я вводил данные в другую ячейку, вычислялся, что подчеркивает, что я добавил формулу изменчивости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .