VBA Не требуется (SORT OF)
Evaluate - это встроенный скрипт VBA, который выполняет именно то, что вы описываете.Однако вам не нужно использовать редактор VBA.Вместо этого вы можете ссылаться через ИМЯ ФОРМУЛЫ.Однако после того, как вы ссылаетесь на него таким образом, вы больше не сможете сохранять свою электронную таблицу в формате xlsx, вместо этого вам нужно будет использовать xlsm.
Предположим, вы выложили данные, как на этом рисунке, и выхотите, чтобы ответ появился в F10 и J12:
Шаг 1
Выберите ячейку, в которой вы хотите выполнить расчет(или ячейка, в которой вы хотите получить ответ).Выполнение этого сначала установит контрольную точку для следующих шагов.В этом случае я выбираю ячейку F10.
Шаг 2
Выбрав ячейку F10, перейдите на вкладку Формулы на ленте и выберите «Определить имя» в разделах «Определенные имена»:
Шаг 3
В появившемся окне введите имя в поле имени.Это имя - то, что вы будете использовать в формулах Excel.Для этого примера я выбрал имя «Ответить».В поле для ссылки: введите следующую формулу:
=evaluate(F9)
Обратите внимание, что в ячейке нет ссылки на блокировку ($).Это делает ссылку относительно выбранной ячейки на шаге 1. В этом случае ячейка F9 - это ячейка непосредственно над тем местом, где должен появиться ответ в F10.
Выберите OK, и окно закроется
Шаг 4
Теперь в ячейке F9 и в ячейке J12 введите следующую формулу
=Answer
Обратите внимание, что то же самоеформула в двух разных местах вычисляет строковую операцию над ячейкой и правильно возвращает два разных ответа.
Пока строка построена из приемлемой математикиОператор, который распознает Excel и не содержит ошибок, таких как пропущенные скобки, оценивает, обрабатывает строку и выдает значение.Одна проблема, которую я заметил в тот день, была в том, что названная формула была специфична только для листа, на котором она была определена.Каждый последующий лист требует своего собственного определенного имени.