Здравствуйте. Подскажите, возможно ли без макросов проверить диапазон на отсутствие формул? Достаточно, что бы выдавало: ИСТИНА/ЛОЖЬ. Желательно, что бы формула работала в Microsoft Excel до 2010 включительно. P.S. Пробовал использовать формулу ЕФОРМУЛА, но она проверяет только одну ячейку, либо первую в диапазоне.
Дело в том, что имеется несколько больших таблиц, которые с некой периодичностью расширяются (добавляются строки и столбцы) и нужно не забывать переносить/копировать формулы в добавляемые строки/столбцы. Для избежания ошибки в расчётах, подумал добавить по контуру таблиц формулы или на крайний случай макросы, которые бы проверяли: везде ли на протяжении строк/столбцов имеются формулы.
Если все ячейки должны иметь формулы, то AND вместо OR у Михаила. Простейшая UDF:
Код
Function IsAllFormula(ByVal rg As Range) As Boolean
Dim c As Range
For Each c In rg.Cells
If Not c.HasFormula Then Exit Function
Next c
IsAllFormula = True
End Function
Не совсем понял как он работает. Создаю модуль (через Alt+F11), потом пробую запустить через F8, но не получается. Уже прочитал статьи по созданию надстроек, но не выходит. Я так понял что диапазон можно будет указывать после запуска?
Не помню, работает ли в Excel 2003 такой прием проверки ячеек на содержание формул: 1. выделить необходимый диапазон ячеек 2. нажать клавишу F5 3. в появившемся окне нажать кнопку "Выделить..." 4. выбрать пункт "Формулы" 5. ОК В ранее выделенном диапазоне выделенными останутся только ячейки с формулами и пока они выделены, можно временно применить к ним заливку, чтобы продолжать работать на листе.
Юрий М, Спасибо. Действительно находится в Функции -> Определенные пользователем
Для проверки сделал вот такую формулу, которая работает даже в 2003: =ЕСЛИ(СЧЁТЕСЛИ(I136:I261;"<>""")-СЧЁТЗ(I136:I261)>0;ЛОЖЬ;ИСТИНА) Может можно её упростить? Дело в том, что когда в таблицу добавляются новые СТРОКИ/СТОЛБЦЫ они создаются пустыми и чтобы не забыть добавить в них формулы не обязательно производить поиск на наличие формул в диапазоне, а просто установить нет ли в диапазоне пустых (без формул ячеек) и с этим легко справляется функция СЧЁТЗ