Хитрости »
1 Май 2011 81551 просмотров
Как узнать есть ли формула в ячейке?
Начиная с версий Excel 2013 среди стандартных функция появилась функция ЕФОРМУЛА(ISFORMULA), которая позволяет определить наличие формулы в ячейке. Единственный аргумент функции — ссылка на ячейку: =ЕФОРМУЛА(A1).
Функция возвращает ИСТИНА(TRUE), если в ячейке есть формула и ЛОЖЬ(FALSE) если в ячейке константа.
Статья была написана ранее и описанные в ней способы применимы к любой версии Excel
В более ранних версиях определить наличие формулы в ячейке можно двумя способами.
Способ первый
Создание именованной формулы(без применения VBA — Visual Basic for Application)
- Выделяете ячейку B1
- жметe Ctrl+F3(вызов диспетчера имен) Если по каким-то причинам Ctrl+F3 не работает, то Диспетчер имен можно вызвать через меню:
Excel 2003:Вставка-Имя-Присвоить.
Excel 2007-2010:вкладка Формулы-Диспетчер имен. - в поле имя пишем — HasFormula(или любое понравившееся название, но не противоречащее правилам создания имен в Excel. Подробнее можно прочитать в статье: Именованные диапазоны)
- в поле Диапазон пишем формулу: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1)
если изменить первый параметр на 6 =ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист1!A1), то результатом будет текст формулы из ячейки, которая указана в функции ПОЛУЧИТЬ.ЯЧЕЙКУ
Теперь, записав в ячейку В1: =HasFormula Вы узнаете, есть ли в ячейке А1 формула или же там константа.
Так же при помощи функций листа макросов можно получить и сам текст формулы(если в ячейке записана формула СЕГОДНЯ(), то ПОЛУЧИТЬ.ЯЧЕЙКУ вернет именно текст СЕГОДНЯ()). Для этого достаточно поменять формулу в поле Диапазон на такую:
=ПОЛУЧИТЬ.ФОРМУЛУ(Лист1!A1)
Недостатки данного метода — Вы привязаны к «левостороннему» определению формулы. Т.е. таким методом Вы можете узнать есть ли формула(или какая формула) в ячейке, расположенной слева от ячейки с именованной формулой. Для того, чтобы «узнать формулу справа» именованная формула должна выглядеть так: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!C1);для работы формулы обязательно должны быть разрешены макросы. Чтобы не зависеть от левостороннего или правостороннего определения можно закрепить столбцы(выделяете ссылку на ячейку — А1 и нажимаете F4. Ссылка будет меняться, появятся знаки доллара $. Если знак стоит перед именем столбца — $А1 — то смещение по столбцу происходить не будет. Так же со строками)
Для ПОЛУЧИТЬ.ФОРМУЛУ есть еще недостаток: формула будет отображаться в стиле ссылок R1C1, что не совсем удобно..Для работы такой функции должны быть разрешены макросы.
Способ второй
Еще один метод определения(на мой взгляд более удобный в использовании) — создание пользовательской функции:
Function IsFormula(ByVal Cell As Range, Optional ShowFormula As Boolean = False) 'Application.Volatile True If ShowFormula Then If Cell.HasFormula Then IsFormula = "Формула: " & IIf(Cell.HasArray, "{" & Cell.FormulaLocal & "}", Cell.FormulaLocal) Else IsFormula = "Значение: " & Cell.Value End If Else IsFormula = Cell.HasFormula End If End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций(Shift+F3), отыскав её в категории Определенные пользователем (User Defined Functions).
Теперь в ячейку записываем созданную формулу
=IsFormula(A2)
Данная функция имеет два аргумента:
- Cell — ссылка на проверяемую ячейку
- ShowFormula — необязательный аргумент. Если присвоено значение ЛОЖЬ или 0 или опущен(не указан) — то функция вернет значение ИСТИНА или ЛОЖЬ(в зависимости от наличия или отсутствия формулы в ячейке). Если присвоено значение ИСТИНА или 1, то в функция вернет не просто ИСТИНА или ЛОЖЬ, а еще и текст самой формулы.
Формулу можно так же найти в диспетчере функций в категории Определенные пользователем — IsFormula и записывать её в ячейку через мастер функций.
Чтобы при изменении формулы в целевой ячейке сразу же изменялось её отображение в ячейке с данной функцией необходимо убрать апостроф(‘) перед Application.Volatile True (в файле-примере это уже сделано).
Недостатки данного метода — для работы функции обязательно должны быть разрешены макросы
Созданные функции можно так же использовать в условном форматировании для подсветки ячеек, содержащих формулы.
Скачать пример
Tips_All_HasFormula.xls (31,0 KiB, 4 353 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Содержание
- Отображение текста формул
- Отображение текста формул
- Способ №1
- Способ №2
- Способ №3
- Как узнать есть ли формула в ячейке?
- Как проверить эксель на наличие формул
- Как проверить, содержит ли / найти ячейки формулы в Excel?
- Проверьте, содержат ли ячейки формулы с функцией
- Найдите и выделите все ячейки с формулами с помощью команды Перейти к специальной
- Выделите все ячейки с формулами с кодом VBA
- Автоматически выделять все формулы во всей книге с помощью Kutools for Excel
Отображение текста формул
Отображение текста формул
Добрый день, читатели блога! Сегодня мы поговорим о том как при необходимости отобразить формулу в ячейке как текст. Ситуация нестандартная, но иногда может пригодиться, особенно для проверки вводимых функций.
Для пользователя Excel всегда встаёт вопрос: как же узнать где в ячейке есть формула, а где нет?
Пойдём по порядку и опустим случай, когда мы щёлкаем на ячейку и смотрим в строчку формул, а также используем кнопку «Показать формулы».
Способ №1
Определить есть ли формула в ячейке нам поможет функция =ЕФОРМУЛА.
Результатом вычислений будет два значения: ИСТИНА — формула в ячейке есть; ЛОЖЬ — формулы в ячейке нет.
Ячейки с формулами найдены. Преобразовать формулу в текст поможет функция =Ф.ТЕКСТ. Она возвращает формулу в виде строки. Есть и минус: её можно использовать только с версии Excel 2013 и выше.
Способ №2
Воспользуемся гибкими возможностями именованных диапазонов в Excel. Переходим на вкладку «Формулы», в блоке кнопок «Определенные имена» нажимаем «Диспетчер имён».
Щёлкаем «Создать», далее вводим имя диапазона (например, ПОЛУЧИТЬФОРМУЛУ), область оставим «Книга», поле «Примечание» можно оставить пустым, в поле «Формула» напишем =ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист2!C1). В примере формула находится в ячейке С1, у вас она может быть где угодно, но важно помнить одно — такой способ работает только в ячейке правее ячейки с формулой!
Имя создано, осталось ввести его в ячейку. Вводим равно и пишем начальные буквы имени, созданного выше.
Как только оно появилось сразу щелкаем по нему два раза.
Подтверждаем ввод. Видим результат.
Способ №3
Воспользуемся созданием пользовательской функции на VBA.
Добавим новый модуль (как это сделать можно прочитать ЗДЕСЬ) :
- Вкладка «Разработчик», блок кнопок «Код», кнопка «Visual Basic»;
- Далее «Insert» — > «Module».
Function FFormula(ByVal Cell As Range, Optional ShowFormula As Boolean = False)
‘Application.Volatile True
If ShowFormula Then
If Cell.HasFormula Then
FFormula = «Текст формулы: » & IIf(Cell.HasArray, «<» & Cell.FormulaLocal & «>«, Cell.FormulaLocal)
Else
FFormula = «Значение ячейки: » & Cell.Value
End If
Else
FFormula = Cell.HasFormula
End If
End Function
Разбор функции будет в видео ниже. Теперь нам остаётся ввести созданную функцию. Обязательно ввести через точку с запятой «Истина», чтобы активировать возможность показа формулы переменной «ShowFormula«.
Подтверждаем ввод, смотрим на результат.
Если вы знаете ещё варианты решения этой задачи — оставляйте комментарии под статьёй!
Источник
Как узнать есть ли формула в ячейке?
Начиная с версий Excel 2013 среди стандартных функция появилась функция ЕФОРМУЛА (ISFORMULA) , которая позволяет определить наличие формулы в ячейке. Единственный аргумент функции — ссылка на ячейку: =ЕФОРМУЛА( A1 ) .
Функция возвращает ИСТИНА (TRUE) , если в ячейке есть формула и ЛОЖЬ (FALSE) если в ячейке константа.
Статья была написана ранее и описанные в ней способы применимы к любой версии Excel
В более ранних версиях определить наличие формулы в ячейке можно двумя способами.
Способ первый
Создание именованной формулы(без применения VBA — Visual Basic for Application)
- Выделяете ячейку B1
- жметe Ctrl+F3(вызов диспетчера имен) Если по каким-то причинам Ctrl+F3 не работает, то Диспетчер имен можно вызвать через меню:
Excel 2003 :Вставка-Имя-Присвоить.
Excel 2007-2010 :вкладка Формулы-Диспетчер имен. - в поле имя пишем — HasFormula(или любое понравившееся название, но не противоречащее правилам создания имен в Excel. Подробнее можно прочитать в статье: Именованные диапазоны)
- в поле Диапазон пишем формулу: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1)
если изменить первый параметр на 6 =ПОЛУЧИТЬ.ЯЧЕЙКУ( 6 ;Лист1!A1) , то результатом будет текст формулы из ячейки, которая указана в функции ПОЛУЧИТЬ.ЯЧЕЙКУ
Теперь, записав в ячейку В1 : =HasFormula Вы узнаете, есть ли в ячейке А1 формула или же там константа.
Так же при помощи функций листа макросов можно получить и сам текст формулы(если в ячейке записана формула СЕГОДНЯ() , то ПОЛУЧИТЬ.ЯЧЕЙКУ вернет именно текст СЕГОДНЯ()). Для этого достаточно поменять формулу в поле Диапазон на такую:
=ПОЛУЧИТЬ.ФОРМУЛУ(Лист1!A1)
Недостатки данного метода — Вы привязаны к «левостороннему» определению формулы. Т.е. таким методом Вы можете узнать есть ли формула(или какая формула) в ячейке, расположенной слева от ячейки с именованной формулой. Для того, чтобы «узнать формулу справа» именованная формула должна выглядеть так: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!C1) ;для работы формулы обязательно должны быть разрешены макросы. Чтобы не зависеть от левостороннего или правостороннего определения можно закрепить столбцы(выделяете ссылку на ячейку — А1 и нажимаете F4. Ссылка будет меняться, появятся знаки доллара $. Если знак стоит перед именем столбца — $А1 — то смещение по столбцу происходить не будет. Так же со строками)
Для ПОЛУЧИТЬ.ФОРМУЛУ есть еще недостаток: формула будет отображаться в стиле ссылок R1C1, что не совсем удобно..
Способ второй
Еще один метод определения(на мой взгляд более удобный в использовании) — создание пользовательской функции:
Function IsFormula(ByVal Cell As Range, Optional ShowFormula As Boolean = False) ‘Application.Volatile True If ShowFormula Then If Cell.HasFormula Then IsFormula = «Формула: » & IIf(Cell.HasArray, «<» & Cell.FormulaLocal & «>«, Cell.FormulaLocal) Else IsFormula = «Значение: » & Cell.Value End If Else IsFormula = Cell.HasFormula End If End Function
Чтобы правильно использовать приведенный код, необходимо сначала ознакомиться со статьей Что такое функция пользователя(UDF)?. Вкратце: скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего функцию можно будет вызвать из Диспетчера функций( Shift + F3 ), отыскав её в категории Определенные пользователем (User Defined Functions) .
Теперь в ячейку записываем созданную формулу
=IsFormula( A2 )
Данная функция имеет два аргумента:
- Cell — ссылка на проверяемую ячейку
- ShowFormula — необязательный аргумент. Если присвоено значение ЛОЖЬ или 0 или опущен(не указан) — то функция вернет значение ИСТИНА или ЛОЖЬ(в зависимости от наличия или отсутствия формулы в ячейке). Если присвоено значение ИСТИНА или 1, то в функция вернет не просто ИСТИНА или ЛОЖЬ, а еще и текст самой формулы.
Формулу можно так же найти в диспетчере функций в категории Определенные пользователем — IsFormula и записывать её в ячейку через мастер функций.
Чтобы при изменении формулы в целевой ячейке сразу же изменялось её отображение в ячейке с данной функцией необходимо убрать апостроф(‘) перед Application.Volatile True (в файле-примере это уже сделано).
Недостатки данного метода — для работы функции обязательно должны быть разрешены макросы
Созданные функции можно так же использовать в условном форматировании для подсветки ячеек, содержащих формулы.
Tips_All_HasFormula.xls (31,0 KiB, 4 344 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Источник
Как проверить эксель на наличие формул
Как проверить, содержит ли / найти ячейки формулы в Excel?
Если у вас есть большой рабочий лист, содержащий несколько формул, и теперь вы хотите найти или проверить, содержат ли формулы формулы. Есть ли у вас какие-нибудь хорошие способы сразу найти или проверить ячейки с формулами в Excel?
Проверьте, содержат ли ячейки формулы с функцией
По умолчанию есть простая функция, позволяющая проверить, содержит ли ячейка формулу в Excel, сделайте следующее:
1. Введите эту формулу: = ISFORMULA (A1) (A1 это ячейка, которую вы хотите проверить, является ли это формулой) в пустую ячейку, чтобы проверить, содержит ли конкретная ячейка формулу или нет, затем нажмите Enter ключ к результату, НЕПРАВДА указывает, что это не формула, ИСТИНА обозначает формулу. Смотрите скриншот:
2. Затем вы можете перетащить дескриптор заполнения в диапазон ячеек, в которых вы хотите проверить соответствующие ячейки, если это формулы, см. Снимок экрана:
Найдите и выделите все ячейки с формулами с помощью команды Перейти к специальной
Если вы хотите найти и выделить ячейки формулы, вы также можете применить Перейти к специальному команда для решения этой задачи.
1. Выберите диапазон, в котором вы хотите выделить ячейки формулы.
2. Нажмите Главная > Найти и выбрать > Перейти к специальному, см. снимок экрана:
3. В Перейти к специальному диалоговое окно, выберите Формулы и проверьте все параметры под Формулы, см. снимок экрана:
4. Затем нажмите OK, выделены сразу все ячейки с формулами. Смотрите скриншот:
Выделите все ячейки с формулами с кодом VBA
Следующий код VBA может помочь вам выделить все ячейки формулы, чтобы выделить их.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: выделить все ячейки формулами
3, Затем нажмите F5 ключ для запуска этого кода, а затем выберите диапазон данных, в котором вы хотите найти формулы из окна подсказки, см. снимок экрана:
4. Нажмите OK кнопку, и все ячейки формулы были выделены желтым цветом, как показано на следующем снимке экрана:
Внимание: В приведенном выше коде xRg.Interior.Color = vbYellow , вы можете изменить цвет выделения — желтый на свой вкус, например красный, зеленый, синий и т. д.
Автоматически выделять все формулы во всей книге с помощью Kutools for Excel
Kutools for ExcelАвтора Выделить формулы Эта функция может помочь вам автоматически выделить формулы во всей книге, а выделенные ячейки будут изменяться по мере динамического изменения ячейки.
Highlight all formulas in a workbook : |
With Kutools for Excel‘s Highlight Formula utiltiy, you can highlight the formulas of the whole workbook with one click. Read more about this feature. |
После установки Kutools for Excel, пожалуйста, сделайте следующее 🙁 Бесплатная загрузка Kutools для Excel сейчас )
1. Нажмите Кутулс Плюс > Дизайн рабочего листа, И новый Дизайн вкладка будет отображаться на ленте, щелкните Выделить формулы под Дизайн вкладку см. скриншоты:
Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно и без ограничений в течение 30 дней. |
2. И тогда все ячейки формулы на всех листах были выделены сразу.
Источник
mazayZR Пользователь Сообщений: 950 |
|
формулой или макросом есс-но, не взглядом |
|
If Left(ActiveCell.Formula, 1) = «=» Then MsgBox 1 |
|
я почему-то подумал: if .formula<>.text then понятно, что и то и то медленно, а что лучше? а как скомпилировать проект? |
|
{quote}{login=слэн}{date=16.04.2008 02:40}{thema=}{post}я почему-то подумал: if .formula<>.text then понятно, что и то и то медленно, а что лучше? а как скомпилировать проект?{/post}{/quote} мне тоже всегда было интересно можно ли формулой, сам не знаю… |
|
Application.VBE.VBProjects(1).MakeCompiledFile как использовать |
|
А правка — перейти — выделить — формулы? |
|
вообще хотелось формулу.. ну да, тоже один из способов, если использовать |
|
mazayZR Пользователь Сообщений: 950 |
гугл вот что показывает http://msoffice.nm.ru/faq/macros/formulas.htm#faq140 If Range(«A1»).HasFormula = True Then |
{quote}{login=слэн}{date=16.04.2008 02:48}{thema=}{post}Application.VBE.VBProjects(1).MakeCompiledFile как использовать{/post}{/quote} Похоже это метод VB и в VBA он не работает, примеров не нашел , кроме вот этой ссылки, но там по англицки http://www.tutorials-win.com/WordVBA/Error-trying-70803/ попроьывал приведенный код, VBA ругается |
|
ZVI Пользователь Сообщений: 4328 |
{quote}{login=слэн}{date=16.04.2008 02:56}{thema=}{post}вообще хотелось формулу.. ну да, тоже один из способов, если использовать |
ZVI Пользователь Сообщений: 4328 |
{quote}{login=слэн}{date=16.04.2008 08:57}{thema=}{post}первый случай..{/post}{/quote} |
CTRL+’ |
|
{quote}{login=gremlin}{date=17.04.2008 12:00}{thema=}{post}CTRL+’ |
|
{quote}{login=ZVI}{date=16.04.2008 10:20}{thema=Re: как определить есть ли в ячейке формула или нет}{post}{quote}{login=слэн}{date=16.04.2008 08:57}{thema=}{post}первый случай..{/post}{/quote} а можно поподробнее описать процесс, как это получилось,а то ни в справке, ни в гугле подробного описания использованных функций не нашел |
|
юзаем гуглю и мелкософт.ком и находим справку по этим функциям |
|
ZVI Пользователь Сообщений: 4328 |
{quote}{login=Артем}{date=17.04.2008 02:06}{thema=Re: Re: как определить есть ли в ячейке формула или нет}{post}{quote}{login=ZVI}{date=16.04.2008 10:20}{thema=Re: как определить есть ли в ячейке формула или нет}{post}{quote}{login=слэн}{date=16.04.2008 08:57}{thema=}{post}первый случай..{/post}{/quote} а можно поподробнее описать процесс, как это получилось,а то ни в справке, ни в гугле подробного описания использованных функций не нашел{/post}{/quote} http://download.microsoft.com/download/excel2000/xlmacro/2000/WIN98/EN-US/xlmacro.exe Но не без заморочек: нужно переименовать EXE в ZIP и архиватором извлечь CHM, т.к. самораспаковывается только, если установлен Excel 2000. Вопрос Слэна, на самом деле, очень интересный и тонкий, несмотря на напрашивающееся «тыкнуть и позырить» — |
я тут поэксперементировал и.. c exel4 макросами — 8сек такой большой разницы между вторым и третьим не ожидал спасибо zvi обращу внимание на листы макросов, особенно мне понравилось, что его невозможно отключить.. ? |
|
ZVI Пользователь Сообщений: 4328 |
— |
{quote}{login=ZVI}{date=30.04.2008 09:48}{thema=Re: как определить есть ли в ячейке формула или нет}{post}— ZVI вы ипользовали англоязычный эксель? И как получилось задать ссылку на ячейку справа? |
|
зачем RэCэ.. просто мышкой тыкнуть, но деньги убрать.. интересно! спасибо, ZVI! |
|
ZVI Пользователь Сообщений: 4328 |
— ФормулаСправа из post_16496.rar работает в русскоязычной версии, проверял в Excel 2002, 2003, 2007. Используется функция, определенная именем: Named Defined Function (NDF) – придумалось такое вот название, по аналогии с VBA-ной User Defined Function (UDF). Принцип простой, его удобнее объяснить на простейшем примере: Чтобы сделать то же самое с помощью NDF, нужно: Когда нужна NDF: http://www.planetaexcel.ru/forum.php?thread_id=3377 post_14945.rar — |
ZVI Пользователь Сообщений: 4328 |
— |
DL Гость |
#28 06.05.2008 07:02:48 ZVI ОГРОМНОЕ ОЧЕРЕДНОЕ СПАСИБО! Просто узнавая такие вещи руки чешутся на эксперементирование и философствованье. Одна беда что что наэксперементировано и нафилосовтвовано и до нас не мало…. |
Проверка ячеек на наличие в них формул |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
oleggy 7 / 7 / 0 Регистрация: 14.03.2013 Сообщений: 231 |
||||
1 |
||||
Функция проверки наличия формулы в ячейке06.05.2014, 07:13. Показов 7133. Ответов 5 Метки нет (Все метки)
Добрый день.
Но функция возвращает всегда ЛОЖЬ. Может подскажете где я в основах допустил ошибку.
0 |
Заблокирован |
||||||||
06.05.2014, 07:38 |
2 |
|||||||
Жму F8 внутри функции но в режим отладки не входит.. Ф-ию (тем более с параметрами) надо вызывать из другой процедуры, например так —
0 |
oleggy 7 / 7 / 0 Регистрация: 14.03.2013 Сообщений: 231 |
||||
06.05.2014, 07:54 [ТС] |
3 |
|||
Разобрался в коде, нашел ошибку.
Остались вопросы: Добавлено через 1 минуту Добавлено через 10 минут 2. Как внутри функции реализовать вычисление только для левой верхней ячейки если передача в функцию была не одного адреса а целой области адресов?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
06.05.2014, 15:49 |
4 |
|||
Остались вопросы 1,2) Если свойство .Formula ячейки начинается с «=», это еще не значит, что в ячейке вычисляется формула. Это может быть текст. На этот случай есть свойство диапазона .HasFormula
cell(1) — левая верхняя ячейка диапазона.
0 |
Иван_777 0 / 0 / 0 Регистрация: 16.05.2018 Сообщений: 73 |
||||
12.10.2018, 18:14 |
5 |
|||
а почему тогда мой код не работает ??
В ячейках 7-350 формулы и значения, функция должна очищать значения, оставляя формулы, но не происходит ВООБЩЕ ничего
0 |
95 / 91 / 16 Регистрация: 13.04.2015 Сообщений: 545 |
|
14.10.2018, 13:14 |
6 |
но не происходит ВООБЩЕ ничего Потому что вряд ли у вас написано ЛОЖЬ в этом диапазоне
If Sheets(«Г”Г*ГЄГІ»).Cells(i, 4) = False
0 |
Если у вас есть большой рабочий лист, содержащий несколько формул, и теперь вы хотите найти или проверить, содержат ли формулы формулы. Есть ли у вас какие-нибудь хорошие способы сразу найти или проверить ячейки с формулами в Excel?
Проверьте, содержат ли ячейки формулы с функцией
Найдите и выделите все ячейки с формулами с помощью команды Перейти к специальной
Выделите все ячейки с формулами с кодом VBA
Автоматически выделять все формулы во всей книге с помощью Kutools for Excel
Проверьте, содержат ли ячейки формулы с функцией
По умолчанию есть простая функция, позволяющая проверить, содержит ли ячейка формулу в Excel, сделайте следующее:
1. Введите эту формулу: = ISFORMULA (A1) (A1 это ячейка, которую вы хотите проверить, является ли это формулой) в пустую ячейку, чтобы проверить, содержит ли конкретная ячейка формулу или нет, затем нажмите Enter ключ к результату, НЕПРАВДА указывает, что это не формула, ИСТИНА обозначает формулу. Смотрите скриншот:
2. Затем вы можете перетащить дескриптор заполнения в диапазон ячеек, в которых вы хотите проверить соответствующие ячейки, если это формулы, см. Снимок экрана:
Найдите и выделите все ячейки с формулами с помощью команды Перейти к специальной
Если вы хотите найти и выделить ячейки формулы, вы также можете применить Перейти к специальному команда для решения этой задачи.
1. Выберите диапазон, в котором вы хотите выделить ячейки формулы.
2. Нажмите Главная > Найти и выбрать > Перейти к специальному, см. снимок экрана:
3. В Перейти к специальному диалоговое окно, выберите Формулы и проверьте все параметры под Формулы, см. снимок экрана:
4. Затем нажмите OK, выделены сразу все ячейки с формулами. Смотрите скриншот:
Выделите все ячейки с формулами с кодом VBA
Следующий код VBA может помочь вам выделить все ячейки формулы, чтобы выделить их.
1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: выделить все ячейки формулами
Sub FindFormulaCells()
'Updateby Extendoffice
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("please select a range:", "Kutools for Excel", Application.ActiveSheet.UsedRange.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xRg = xRg.SpecialCells(xlCellTypeFormulas, 23)
If xRg Is Nothing Then Exit Sub
xRg.Interior.Color = vbYellow
End Sub
3, Затем нажмите F5 ключ для запуска этого кода, а затем выберите диапазон данных, в котором вы хотите найти формулы из окна подсказки, см. снимок экрана:
4. Нажмите OK кнопку, и все ячейки формулы были выделены желтым цветом, как показано на следующем снимке экрана:
Внимание: В приведенном выше коде xRg.Interior.Color = vbYellow, вы можете изменить цвет выделения — желтый на свой вкус, например красный, зеленый, синий и т. д.
Автоматически выделять все формулы во всей книге с помощью Kutools for Excel
Kutools for ExcelАвтора Выделить формулы Эта функция может помочь вам автоматически выделить формулы во всей книге, а выделенные ячейки будут изменяться по мере динамического изменения ячейки.
После установки Kutools for Excel, пожалуйста, сделайте следующее Бесплатная загрузка Kutools for Excel Теперь )
1. Нажмите Кутулс Плюс > Дизайн рабочего листа, И новый Дизайн вкладка будет отображаться на ленте, щелкните Выделить формулы под Дизайн вкладку см. скриншоты:
2. И тогда все ячейки формулы на всех листах были выделены сразу.
Как выделить / условное форматирование ячеек с формулами в Excel?
Бесплатная загрузка Kutools for Excel Теперь
Статьи по теме:
Как выделить / условное форматирование ячеек с формулами в Excel?
Как выделить всю / целую строку при прокрутке на листе Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Для версий старше Exel-2013 такого функционала (без использования VBA), к сожалению, нет.
Но вариант есть — использование макрофункций.
Не VBA, но макросы должны быть разрешены. На листе не используются, но применимы в именах.
С помощью функции ПОЛУЧИТЬ.ЯЧЕЙКУ можно определить содержимое ячейки, ее адрес, заливку…
Ctrl+F3 — мы в Диспетчере_имен. Создать имя (пусть будет «тестформула»), в поле Диапазон вписать формулу:
=ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист1!$A$1)
На листе в любой ячейке:
=тестформула
Если в ячейке А1 константа, результат — константа, если формула — отобразится формула. А что такое формула? Текст, который начинается знаком «=». Отлично! Можно научиться определять, что находится в А1:
=ЕСЛИ(ЛЕВСИМВ(тестформула)="=";"формула";"значение")
‘ —————
Чем это может помочь при контроле вводимых данных?
Имя у нас уже есть. Доработаем:
=ЛЕВСИМВ(ПОЛУЧИТЬ.ЯЧЕЙКУ(6;Лист1!$A$1)="="
В ссылке можно убрать закрепление строки — имя будет работать для ячеек столбца, если убрать закрепление столбца — имя действительно для строки.
Пишем в C1:
=тестформула
В проверке данных ячейки А1:
=C1
Порядок, получили замену для ЕФОРМУЛА