Я столкнулся с похожей проблемой: мне пришлось форматировать ячейки, основываясь на том, содержат ли они формулу или постоянное значение. HasFormula
позволяет определить, содержит ли ячейка формулу, однако простые вычисления, такие как =123+45
, также определяются как формулы (правильно с технической точки зрения, но неправильно с точки зрения финансового моделирования). Поэтому я хотел использовать Precedents
в UDF, чтобы увидеть, связана ли данная ячейка с какой-либо другой. Как упомянуто выше, значение Precedents
во время выполнения UDF недопустимо, но Мне нужно было знать только, есть ли прецедент , а не какие ячейки они являются.
Поэтому я сравнил свойства Formula
и FormulaR1C1
, поскольку они различаются только в том случае, если Formula
содержит ссылку на ячейку.
Есть одно исключение: если Formula
содержит Именованные Диапазоны, тогда Formula
и FormulaR1C1
могут быть равны, даже если ячейка ссылается на что-то. (Это не относится к моему случаю, и я не хотел итерировать все имена и проверять, содержатся ли они в Formula
внешних кавычках.