Формулы перестают реагировать на изменение значений, вводимых в ячейки, на которые ссылаются - PullRequest
0 голосов
/ 18 октября 2019

Вопрос, ближайший к моему, не дал удовлетворительного ответа.

Вставленная формула со ссылкой на ячейку не распознает новый ввод

В определенной книге с поддержкой макросовсгенерированные макросами формулы не изменяют выходные значения при изменении данных в ссылочных ячейках. Например, я могу ввести некоторые числа в ссылочные ячейки, и ячейка, содержащая формулы, покажет вычисленное число, но эти числа не изменятся при изменении данных в ссылках. Формулы, введенные вручную в одной и той же книге, демонстрируют одинаковое поведение, независимо от того, находятся ли они в объектах диапазона или за его пределами, или в листах, не генерируемых макросами, в этой книге. Кажется, это не относится к какой-либо конкретной формуле.

Я проверил, что ячейки отформатированы как числа и что формулы действительны. Формулы по-прежнему отображаются в ячейках после вычисления значений.

Перезагрузка той же книги без макроподключения показывает, что формулы работают правильно.

В другой книге с поддержкой макросов проблем не наблюдается.

Я проверил настройки свойств в редакторе VBA и не обнаружил различий между ними.

Похоже, что-то происходит, связанное с включением макросов, а не с каким-то конкретным кодом, который приводит к тому, что формулы перестают отвечать, ноЯ озадачен тем, что это может быть.

Вот формула, в которой я заметил проблему:

в "= d4: d21" формуле массива "{= IF (ISNUMBER (C4: C21), C4: C21 / C3, "0")} "

Даже с простой формулой, размещенной в любом месте на листе, например" = среднее (f4: f6) ", эта проблема возникает.

Я думаю, что создание макроса, содержащего эти строки кода, - это когда проблема началась, но они не являются специфическими для нее:

Sub CreateDataSheet()

Sheets.Add After:=ActiveSheet
Range("d4:d21").Select
Selection.FormulaArray = _
"=IF(ISNUMBER(RC[-1]:R[17]C[-1], RC[-1]:R[17]C[-1]/R[-1]C[-1], ""0"")"

End Sub

Как я могу заставить эти формулы работать снова?

1 Ответ

0 голосов
/ 18 октября 2019

Расчеты в рабочей книге были установлены на «ручной», а я изменил на «автоматический». Формулы работают сейчас.

...