Как выделить ячейки в excel в строке формул


Применим средства

EXCEL

для поиска и выделения ячеек, содержащих и НЕ содержащих формулы.

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

Выделить ячейки, которые содержат формулы можно воспользовавшись стандартным инструментом EXCEL

Выделение группы ячеек…

или через меню: на вкладке

Главная

в группе

Редактирование

щелкните стрелку рядом с командой

Найти и выделить

, а затем выберите в списке пункт

Формулы

.

Выделить ячейки, которые содержат НЕ формулы, т.е. содержат константы можно аналогичным образом, только вместо

Формулы

нужно выбрать

Константы

.

Если в ячейке введено

=11

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

Вышеуказанный подход требует вмешательства пользователя, т.е. необходимо вручную выбирать пункты меню. Можно настроить

Условное форматирование

так, чтобы после ввода формулы происходило автоматическое выделение, содержащей ее ячейки.

Допустим значения вводятся в диапазон

A1:A10

(см.

файл примера

)

.

Для настройки

Условного форматирования

для этого диапазона необходимо сначала создать

Именованную формулу

, для этого:

  • выделите ячейку

    A

    1

    ;
  • вызовите окно

    Создание имени

    из меню

    ;
  • в поле

    Имя

    введите название формулы, например

    Формула_в_ячейке

    ;
  • в поле

    Диапазон

    введите

    =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1)
  • нажмите ОК.

Теперь настроим правило

Условного форматирования

, для этого:

  • выделите диапазон

    A

    1:

    A

    10

    ;
  • вызовите инструмент

    Условное форматирование

    (

    );

  • выберите

    Использовать формулу для определения форматируемых ячеек;
  • в поле «

    Форматировать значения, для которых следующая формула является истинной

    » введите

    =Формула_в_ячейке

    ;
  • выберите требуемый формат, например, красный цвет фона;

  • Нажмите ОК, затем еще раз ОК.

Теперь все ячейки из диапазона

A

1:

A

10

, содержащие формулы, выделены красным.

В этом примере мы использовали макрофункцию

ПОЛУЧИТЬ.ЯЧЕЙКУ()

. Это набор функций к EXCEL 4-й версии, которые нельзя напрямую использовать на листе EXCEL 2007, а можно использовать только в качестве

Именованной формулы

, что мы и сделали.

Чтобы, наоборот, выделить все непустые ячейки, содержащие константы (или НЕ содержащие формулы), нужно изменить формулу на

=И(НЕ(ПОЛУЧИТЬ.ЯЧЕЙКУ(48;Лист1!A1));НЕ(ЕПУСТО(Лист1!A1)))


Совет

:

Чтобы показать все формулы, которые имеются на листе нужно на вкладке

Формулы

в группе

Зависимости формул

щелкните кнопку

Показать формулы

.

Чтобы выделить все ячейки, содержащие формулы, нужно на вкладке

Главная

, в группе

Редактирование

выбрать команду

Формулы

.

Чтобы найти все ячейки на листе, имеющие

Условное форматирование

необходимо:

  • на вкладке

    Главная

    в группе

    Редактирование

    щелкните стрелку рядом с командой

    Найти и выделить

    ;
  • выберите в списке пункт

    Условное форматирование;
  • будут выделены все ячейки, которым применено

    Условное форматирование

    .

В Excel не предусмотрено встроенной функции для поиска формул. Когда формула введена в ячейку, узнать, является ячейка постоянным значением или значением, полученным из формулы, можно, только щелкнув ячейку и взглянув на строку формул или же нажав Ctrl+~ (тильда; чтобы отменить режим показа формул, нажмите Ctrl+~ еще раз). Предлагаемый трюк позволит вам выделить ячейки с формулами при помощи трех строчек кода VBA и условного форматирования. [1]

Если вы никогда не создавали пользовательской фунции при помощи VBA, рекомендую начать с заметки Сумма по цвету ячеек в Excel, в которой поясняются первые шаги.

Если вы представляете, о чем речь, пройдите по меню Разработчик –> Visual Basic и в открывшемся окне Microsoft Visual Basic for Applications пройдите по меню Insert –> Module (рис. 1). В окне нового модуля наберите следующий код:

Function IsFormula(Check_Cell As Range)
IsFormula = Check_Cell.HasFormula
End Function

Рис. 1. Код пользовательской функции IsFormula в окне Microsoft Visual Basic for Applications

Рис. 1. Код пользовательской функции IsFormula в окне Microsoft Visual Basic for Applications

Скачать заметку в формате Word или pdf, скачать пример в формате Excel (с встроенным кодом VBA)

Закройте окно Visual Basic, нажав Alt+Q или пройдя по меню File –> Close and Return to Microsoft Excel. Вы создали функцию IsFormula. Если вы создали функцию в модуле, относящемся к этой рабочей книге (как на рис. 1), а не в модуле Личной книги макросов – Personal.xlsb, то функция будет доступна только в этой конкретной книге Excel. Чтобы ваш труд не пропал даром, сохраните Excel-файл командой Сохранить как, и выбрав тип файла Книга Excel с поддержкой макросов (*.xlsm). Ваша пользовательская функция, как и любая встроенная функция, доступна в окне Вставка функции в категории Определенные пользователем (рис. 2).

Рис. 2. Пользовательская функция доступна в окне Вставка функции

Рис. 2. Пользовательская функция доступна в окне Вставка функции

Также вы можете вызвать функцию, просто, начав набирать в ячейке =i (рис. 3).

Рис. 3. Функцию можно выбрать через подсказку, начав набирать в ячейке =i

Рис. 3. Функцию можно выбрать через подсказку, начав набирать в ячейке =i

Функция возвращает два значения: ИСТИНА, если в соответствующей ячейке содержится формула, и ЛОЖЬ, если это не так. Этот булевский результат можно использовать совместно с условным форматированием, чтобы автоматически выделить все формулы с применением нужного форматирования.

Одно из основных преимуществ этого метода заключается в том, что возможности идентификации формул на листе динамические. Это означает, что, если вы добавите или удалите формулу, то форматирование изменится соответствующим образом. Вот как это сделать.

Выделите диапазон ячеек, заполненный данными, плюс сделайте запас на случай, если данные будут добавляться. Не выделяйте весь лист, так как это может увеличить размер файла (иногда катастрофически). В нашем примере (рис. 4) я выделил область А1:К28. Причем ячейка А1 должна быть активной.

В качестве примера в диапазон А1:F20 я ввел формулу =СЛЧИС(). Затем выделил весь диапазон, скопировал его в буфер, и вставил как значение. После этого в нескольких ячейках снова вставил формулу =СЛЧИС().

Рис. 4. Создание правила форматирования для выделеной области

Рис. 4. Создание правила форматирования для выделеной области

Пройдите по меню Главная  –> Условное форматирование –> Создать правило (я работаю в Excel2013). В открывшемся окне Создание правила форматирования выберите опцию Использовать формулу для определения форматируемых ячеек. И в поле Форматировать значения, для которых следующая формула является истинной введите =IsFormula(A1). Щелкните кнопку Формат рядом с полем Образец и выберите желтую заливку для идентификации ячеек с формулами. Щелкните ОК (рис. 5).

Рис. 5. С помощью кода VBA и условного форматирования удалось выделить ячейки, содержащие формулы

Рис. 5. С помощью кода VBA и условного форматирования удалось выделить ячейки, содержащие формулы

Получился ножиданный эффект, который можно наблюдать в прикрепленном Excel-файле. Я считал, что функция =СЛЧИС() пересчитывается только при изменении хотя бы одного значения на листе. Так вот, на листе формально не происходит изменения значений. Но, видимо, функция IsFormula, участвующая в условном форматировании, как-то влияет на этот процесс, так что экран оживает, и значения постоянно изменяются. 🙂

Иногда при вводе формул в окне условного форматирования Excel пытается добавить кавычки вокруг формул после того, как вы щелкаете на кнопке ОК. Это означает, что Excel распознал то, что вы ввели, как текст, а не как формулу. Если это произошло, вернитесь в окно Условное форматирование, удалите кавычки и щелкните ОК.

Теперь указанная формула применяется ко всем ячейкам выделенного диапазона, содержащим формулы. Если вы удалите или исправите содержимое ячейки с формулой, условное форматирование исчезнет. Схожим образом, если вы введете новую формулу в любую ячейку диапазона, она также будет выделена форматированием.

[1] По материалам книги Р.Холи, Д.Холи. Excel 2007. Трюки, стр. 70–72

Работа с формулами
18.07.2011 8773

Как выделить разом все ячейки с формулами?

Для того чтобы выделить разом все ячейки с формулами на листе Excel воспользуйтесь этим способом.

  • В окне открытого листа перейдите к вкладке «Главная».
  • Раскройте меню кнопки «Найти и выделить» и в списке команд выберите пункт «Формулы» (рис. 4.2).

Рис. 4.2. Вкладка «Главная». Меню кнопки «Найти и выделить». Пункт «Формулы»

Рис. 4.2. Вкладка «Главная». Меню кнопки «Найти и выделить». Пункт «Формулы»

Формулы

Выделить ячейку, участвующую в расчётах

Pulse

Дата: Среда, 15.02.2017, 12:00 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

Здравствуйте, дорогие форумчане!

Задача такая, нужно выделить ячейку цветом, если она участвует в каких-либо вычислениях на листе. Если возможно, то без привязки к диапазону.

 

Ответить

sboy

Дата: Среда, 15.02.2017, 12:05 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Можно воспользоваться стандартными средствами «Влияющие ячейки» и «Зависимые ячейки»


Яндекс: 410016850021169

 

Ответить

Nic70y

Дата: Среда, 15.02.2017, 12:11 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

жмем F5 (клавишу) —> Выделить —> формулы —> ОК
жмем F5 (клавишу) —> Выделить —> влияющие ячейки —> ОК
заливаем


ЮMoney 41001841029809

 

Ответить

Pulse

Дата: Среда, 15.02.2017, 12:25 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

sboy, Nic70y, если число перестанет участвовать в расчётах, данные действия придётся повторить заново. Нужно, чтобы выделение появлялось и убиралось автоматически.

Сообщение отредактировал PulseСреда, 15.02.2017, 12:25

 

Ответить

sboy

Дата: Среда, 15.02.2017, 12:35 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 2566


Репутация:

724

±

Замечаний:
0% ±


Excel 2010

как вариант можно в модуль листа
[vba]

Код

Private Sub Worksheet_Calculate()
    For Each cl In Range(«B3:E3»).Cells
       cl.ShowDependents
       Next
End Sub

[/vba]

К сообщению приложен файл:

2685692.xls
(33.5 Kb)


Яндекс: 410016850021169

 

Ответить

Pulse

Дата: Среда, 15.02.2017, 12:52 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 213


Репутация:

16

±

Замечаний:
0% ±


2013

sboy, да, так получше. Прикрутил кнопку.

 

Ответить

Достаточно часто в таблицах бывает такая ошибка, когда формула случайно заменяется значением. Этот тип ошибок обычно трудно определяется, особенно если лист содержит большое количество формул. В этом приеме описывается два способа быстро идентифицировать формулы в листе, выделяя их. Затем при уменьшении масштаба вы могли бы определить пробелы в группах формул.

Использование окна Выделение группы ячеек

Этот метод выявления ячеек с формулами легкий, но не динамический. Другими словами, он хорош для единичной проверки.

  1. Выберите одну ячейку в листе.
  2. Выберите Главная ► Редактирование ► Найти и выделить ► Выделение группы ячеек для открытия диалогового окна Выделение группы ячеек.
  3. В окне Выделение группы ячеек установите переключатель в положение формулы и убедитесь, что все флажки ниже установлены.
  4. Нажмите кнопку ОК. Excel выберет все ячейки с формулами.
  5. Нажмите кнопку Цвет заливки в группе Шрифт вкладки Главная. Выберите любой цвет, который еще не используется.
  6. Используйте элемент управления Масштаб и задайте для своего листа небольшой масштаб (например, 25%).
  7. Внимательно проверьте лист и посмотрите, какие ячейки остались невыделенными. Возможно, это формула, которая была перезаписана значением.

Если вы не делали никаких изменений, то можете нажать кнопку Отменить (или нажать Ctrl+Z) для отмены цветовой заливки, которую применили в шаге 6.

Использование условного форматирования

Этот метод определения ячеек с формулами потребует небольшой настройки, но он имеет явное преимущество по сравнению с предыдущим, так как является динамическим. Ячейки с формулами определяются сразу, как только заполняются.

Чтобы настроить условное форматирование, выполните следующие действия.

  1. Выберите Формулы ► Определенные имена ► Присвоить имя для открытия диалогового окна Создание имени.
  2. В окне Создание имени введите следующую строку в поле Имя: CellHasFormula.
  3. Введите такую формулу в поле Диапазон: =ПОЛУЧИТЬ.ЯЧЕЙКУ(48;ДВССЫЛ("rc";ЛОЖЬ)).
  4. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Создание имени.
  5. Выделите все ячейки, к которым хотите применить условное форматирование. Как правило, они составляют диапазон от А1 до правого нижнего угла используемой области листа.
  6. Выберите Главная ► Стили ► Условное форматирование ► Создать правило для открытия диалогового окна Создание правила форматирования.
  7. В верхней части окна выберите пункт Использовать формулу для определения форматируемых ячеек.
  8. Введите следующую формулу в поле диалогового окна (рис. 196.1): =CellHasFormula.
  9. Нажмите кнопку Формат для открытия диалогового окна Формат ячеек и выберите тип форматирования для ячеек, содержащих формулу.
  10. Нажмите кнопку , чтобы закрыть окно Формат ячеек, и снова нажмите , чтобы закрыть окно Создание правила форматирования.

Рис. 196.1. Окно для установки условного форматирования для выделения ячеек с формулами

Рис. 196.1. Окно для установки условного форматирования для выделения ячеек с формулами

После выполнения этих шагов каждая ячейка, которая содержит формулу и находится в пределах выбранного в шаге 5 диапазона, будет отформатирована по вашему выбору. Кроме того, при вводе формулы в диапазон, для которого задано условное форматирование, ячейка немедленно поменяет вид. Это форматирование позволяет вам легко определить ячейку, которая должна содержать формулу, но не содержит.

Формула, которую вы вводили в шаге 3, — макрос XLM. Следовательно, вам необходимо сохранить книгу с расширением с поддержкой макросов (используя расширение XLSM). Если вы сохраните книгу в виде XLSX-файла, Excel удалит имя CellHasFormula.

Понравилась статья? Поделить с друзьями:
  • Как выделить ячейки в excel без скрытых
  • Как выделить ячейки в excel delphi
  • Как выделить ячейки в excel 2003
  • Как выделить ярлыки листов в excel
  • Как выделить элементы таблицы один столбец в excel