Применим средства
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 воспользуйтесь этим способом.
- В окне открытого листа перейдите к вкладке «Главная».
- Раскройте меню кнопки «Найти и выделить» и в списке команд выберите пункт «Формулы» (рис. 4.2).
Рис. 4.2. Вкладка «Главная». Меню кнопки «Найти и выделить». Пункт «Формулы»
В 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
Скачать заметку в формате 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. Пользовательская функция доступна в окне Вставка функции
Также вы можете вызвать функцию, просто, начав набирать в ячейке =i (рис. 3).
Рис. 3. Функцию можно выбрать через подсказку, начав набирать в ячейке =i
Функция возвращает два значения: ИСТИНА, если в соответствующей ячейке содержится формула, и ЛОЖЬ, если это не так. Этот булевский результат можно использовать совместно с условным форматированием, чтобы автоматически выделить все формулы с применением нужного форматирования.
Одно из основных преимуществ этого метода заключается в том, что возможности идентификации формул на листе динамические. Это означает, что, если вы добавите или удалите формулу, то форматирование изменится соответствующим образом. Вот как это сделать.
Выделите диапазон ячеек, заполненный данными, плюс сделайте запас на случай, если данные будут добавляться. Не выделяйте весь лист, так как это может увеличить размер файла (иногда катастрофически). В нашем примере (рис. 4) я выделил область А1:К28. Причем ячейка А1 должна быть активной.
В качестве примера в диапазон А1:F20 я ввел формулу =СЛЧИС(). Затем выделил весь диапазон, скопировал его в буфер, и вставил как значение. После этого в нескольких ячейках снова вставил формулу =СЛЧИС().
Рис. 4. Создание правила форматирования для выделеной области
Пройдите по меню Главная –> Условное форматирование –> Создать правило (я работаю в Excel2013). В открывшемся окне Создание правила форматирования выберите опцию Использовать формулу для определения форматируемых ячеек. И в поле Форматировать значения, для которых следующая формула является истинной введите =IsFormula(A1). Щелкните кнопку Формат рядом с полем Образец и выберите желтую заливку для идентификации ячеек с формулами. Щелкните ОК (рис. 5).
Рис. 5. С помощью кода VBA и условного форматирования удалось выделить ячейки, содержащие формулы
Получился ножиданный эффект, который можно наблюдать в прикрепленном Excel-файле. Я считал, что функция =СЛЧИС() пересчитывается только при изменении хотя бы одного значения на листе. Так вот, на листе формально не происходит изменения значений. Но, видимо, функция IsFormula, участвующая в условном форматировании, как-то влияет на этот процесс, так что экран оживает, и значения постоянно изменяются. 🙂
Иногда при вводе формул в окне условного форматирования Excel пытается добавить кавычки вокруг формул после того, как вы щелкаете на кнопке ОК. Это означает, что Excel распознал то, что вы ввели, как текст, а не как формулу. Если это произошло, вернитесь в окно Условное форматирование, удалите кавычки и щелкните ОК.
Теперь указанная формула применяется ко всем ячейкам выделенного диапазона, содержащим формулы. Если вы удалите или исправите содержимое ячейки с формулой, условное форматирование исчезнет. Схожим образом, если вы введете новую формулу в любую ячейку диапазона, она также будет выделена форматированием.
[1] По материалам книги Р.Холи, Д.Холи. Excel 2007. Трюки, стр. 70–72
Достаточно часто в таблицах бывает такая ошибка, когда формула случайно заменяется значением. Этот тип ошибок обычно трудно определяется, особенно если лист содержит большое количество формул. В этом приеме описывается два способа быстро идентифицировать формулы в листе, выделяя их. Затем при уменьшении масштаба вы могли бы определить пробелы в группах формул.
Использование окна Выделение группы ячеек
Этот метод выявления ячеек с формулами легкий, но не динамический. Другими словами, он хорош для единичной проверки.
- Выберите одну ячейку в листе.
- Выберите Главная ► Редактирование ► Найти и выделить ► Выделение группы ячеек для открытия диалогового окна Выделение группы ячеек.
- В окне Выделение группы ячеек установите переключатель в положение формулы и убедитесь, что все флажки ниже установлены.
- Нажмите кнопку ОК. Excel выберет все ячейки с формулами.
- Нажмите кнопку Цвет заливки в группе Шрифт вкладки Главная. Выберите любой цвет, который еще не используется.
- Используйте элемент управления Масштаб и задайте для своего листа небольшой масштаб (например, 25%).
- Внимательно проверьте лист и посмотрите, какие ячейки остались невыделенными. Возможно, это формула, которая была перезаписана значением.
Если вы не делали никаких изменений, то можете нажать кнопку Отменить (или нажать Ctrl+Z) для отмены цветовой заливки, которую применили в шаге 6.
Использование условного форматирования
Этот метод определения ячеек с формулами потребует небольшой настройки, но он имеет явное преимущество по сравнению с предыдущим, так как является динамическим. Ячейки с формулами определяются сразу, как только заполняются.
Чтобы настроить условное форматирование, выполните следующие действия.
- Выберите Формулы ► Определенные имена ► Присвоить имя для открытия диалогового окна Создание имени.
- В окне Создание имени введите следующую строку в поле Имя:
CellHasFormula
. - Введите такую формулу в поле Диапазон:
=ПОЛУЧИТЬ.ЯЧЕЙКУ(48;ДВССЫЛ("rc";ЛОЖЬ))
. - Нажмите кнопку ОК, чтобы закрыть диалоговое окно Создание имени.
- Выделите все ячейки, к которым хотите применить условное форматирование. Как правило, они составляют диапазон от А1 до правого нижнего угла используемой области листа.
- Выберите Главная ► Стили ► Условное форматирование ► Создать правило для открытия диалогового окна Создание правила форматирования.
- В верхней части окна выберите пункт Использовать формулу для определения форматируемых ячеек.
- Введите следующую формулу в поле диалогового окна (рис. 196.1):
=CellHasFormula
. - Нажмите кнопку Формат для открытия диалогового окна Формат ячеек и выберите тип форматирования для ячеек, содержащих формулу.
- Нажмите кнопку OК, чтобы закрыть окно Формат ячеек, и снова нажмите OК, чтобы закрыть окно Создание правила форматирования.
Рис. 196.1. Окно для установки условного форматирования для выделения ячеек с формулами
После выполнения этих шагов каждая ячейка, которая содержит формулу и находится в пределах выбранного в шаге 5 диапазона, будет отформатирована по вашему выбору. Кроме того, при вводе формулы в диапазон, для которого задано условное форматирование, ячейка немедленно поменяет вид. Это форматирование позволяет вам легко определить ячейку, которая должна содержать формулу, но не содержит.
Формула, которую вы вводили в шаге 3, — макрос XLM. Следовательно, вам необходимо сохранить книгу с расширением с поддержкой макросов (используя расширение XLSM). Если вы сохраните книгу в виде XLSX-файла, Excel удалит имя CellHasFormula.
В этой статье говорится о выделении всех ячеек, на которые ссылается формула в Excel. Пожалуйста, следуйте двум нижеприведенным методам, чтобы это сделать.
Выделите все ячейки, на которые ссылается формула, с помощью сочетания клавиш
Выделите все ячейки, на которые ссылается формула, с кодом VBA
Выделите все ячейки, на которые ссылается формула, с помощью сочетания клавиш
В этом разделе будет рекомендовано использовать горячую клавишу для выбора всех ячеек, на которые ссылается формула, а затем вручную заполнить их цветом.
1. Предположим, что E1 — это ячейка формулы, и вам нужно выделить все ячейки, на которые она ссылается. Выберите ячейку формулы E1, затем нажмите Ctrl + [ (открытая квадратная скобка) одновременно.
2. Теперь выделены ячейки, на которые ссылается эта формула. Укажите цвет заливки, чтобы выделить их. Смотрите скриншот:
Выделите все ячейки, на которые ссылается формула, с кодом VBA
Вы также можете запустить код VBA, чтобы выделить все ячейки, на которые ссылалась формула в Excel.
1. Нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окно, пожалуйста, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.
Код VBA: выделите все ячейки, на которые ссылается формула в Excel
Sub HighlightCellsReferenced()
Dim rowCnt As Integer
Dim i As Integer, j As Integer, strleng As Integer
Dim strTxt As String, strFml As String
Dim columnStr, cellsAddress As String
Dim xRg As Range, yRg As Range
On Error Resume Next
Set xRg = Application.InputBox(Prompt:="Please select formula cell(s)...", _
Title:="Kutools For Excel", Type:=8)
strTxt = ""
Application.ScreenUpdating = False
For Each yRg In xRg
If yRg.Value <> "" Then
strFml = yRg.Formula + " "
strFml = Replace(strFml, "(", " ")
strFml = Replace(strFml, ")", " ")
strFml = Replace(strFml, "-", " ")
strFml = Replace(strFml, "+", " ")
strFml = Replace(strFml, "*", " ")
strFml = Replace(strFml, "/", " ")
strFml = Replace(strFml, "=", " ")
strFml = Replace(strFml, ",", " ")
strFml = Replace(strFml, ":", " ")
For j = 1 To Len(strFml)
If Mid(strFml, j, 1) <> " " Then
cellsAddress = cellsAddress + Mid(strFml, j, 1)
Else
On Error Resume Next
Range(cellsAddress).Interior.ColorIndex = 3
cellsAddress = ""
End If
Next
End If
Next yRg
Application.ScreenUpdating = True
End Sub
3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel В диалоговом окне выберите ячейку формулы или несколько ячеек формулы, на основе которых необходимо выделить ячейки, на которые ссылаются, а затем щелкните значок OK кнопка. Смотрите скриншот:
Теперь все ячейки, на которые есть ссылки, основанные на выбранных ячейках формулы, сразу же выделяются красным цветом, как показано ниже.
Статьи по теме:
- Как сохранить постоянную ссылку на ячейку формулы в Excel?
- Как указать имя вкладки в ячейке в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
На чтение 2 мин. Просмотров 81 Опубликовано 23.05.2021
В этой статье говорится о выделении всех ячеек, на которые ссылается формула в Excel. Чтобы это сделать, выполните следующие два метода.
Выделите все ячейки, на которые ссылается формула, с помощью сочетания клавиш
Выделите все ячейки, на которые ссылается формула, с кодом VBA
Содержание
- Выделите все ячейки, на которые ссылается формула, с помощью сочетания клавиш
- Выделите все ячейки, на которые ссылается формула, с кодом VBA
- Статьи по теме:
Выделите все ячейки, на которые ссылается формула, с помощью сочетания клавиш
Потрясающе! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Сэкономьте 50% своего времени и сократите тысячи щелчков мышью каждый день!
В этом разделе будет рекомендовано использовать горячую клавишу для выбора всех ячеек, на которые ссылается формула, а затем вручную заполнить цветом, чтобы их.
1. Предположим, что E1 – это ячейка формулы, и вам нужно выделить все ячейки, на которые она ссылается. Выберите ячейку формулы E1, затем нажмите одновременно клавиши Ctrl + [ (открытая квадратная скобка).
2. Теперь выделены ячейки, на которые ссылается эта формула, укажите цвет заливки, чтобы выделить их. См. Снимок экрана:
Выделите все ячейки, на которые ссылается формула, с кодом VBA
Вы также можете запустить код VBA, чтобы выделить все ячейки, на которые ссылалась формула в Excel.
1. Нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений .
2. В окне Microsoft Visual Basic для приложений нажмите Вставить > Модуль . Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.
Код VBA: выделите все ячейки, на которые ссылается формула в Excel
3. Нажмите клавишу F5 , чтобы запустить код. Во всплывающем диалоговом окне Kutools for Excel выберите ячейку формулы или несколько ячеек формулы, на основе которых вам нужно выделить ячейки, на которые ссылаются, а затем нажмите ОК кнопка strong>. См. Снимок экрана:
Теперь все ячейки, на которые есть ссылки, основаны на выбранных Ячейки формулы сразу выделяются красным цветом, как показано на скриншоте ниже.
Статьи по теме :
- Как сохранить ссылку на ячейку формулы константа в Excel?
- Как указать имя вкладки в ячейке в Excel?
Выделить ячейку, участвующую в расчётах |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Access 2007 Еще…Меньше
С помощью команды Перейти можно быстро найти и выбрать все ячейки, содержащие определенные типы данных, например формулы. Кроме того, с помощью функции Перейти можно найти только ячейки, которые соответствуют определенным условиям, например последнюю ячейку на лист, которая содержит данные или форматирование.
Сделайте следующее:
-
Для начала с одного из следующих начните:
-
Чтобы найти конкретные ячейки на всем ячеек, щелкните любую из них.
-
Чтобы найти определенные ячейки в определенной области, выберите нужные диапазон, строки или столбцы. Дополнительные сведения см. в статье Выбор ячеек, диапазонов, строк и столбцов на сайте.
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
-
-
На вкладке Главная нажмите кнопку & выберите > Перейти (в группе Редактирование).
Сочетания клавиш: Нажмите CTRL+G.
-
Нажмите кнопку Дополнительный.
-
В диалоговом окне Перейти к специальным выберите один из следующих параметров:
Команда |
Чтобы выделить |
---|---|
Примечания |
Ячейки с прикомментами. |
Константы |
Ячейки, содержащие константы. |
Формулы |
Ячейки, содержащие формулы. Примечание: Тип формулы определяется флажками под формулами. |
Пробелы |
Пустые ячейки. |
Текущая область |
Список текущая область, например весь список. |
Текущий массив |
Если массив массив содержится активная ячейка массиве, это может быть целая активная ячейка. |
Объекты |
Графические объекты, в том числе диаграммы и кнопки, на месте и в текстовых полях. |
Различия между строками |
Все ячейки, отличающиеся от активной ячейки в выбранной строке. В области выделения всегда есть одна активная ячейка , будь то диапазон, строка или столбец. Нажимая клавишу ВВОД или TAB, можно изменить расположение активной ячейки, которая по умолчанию является первой ячейкой в строке. Если выбрано несколько строк, для каждой отдельной строки этого выделения будет сравнено сравнение, а ячейка, используемая для сравнения для каждой дополнительной строки, будет расположена в том же столбце, что и активная ячейка. |
Различия между столбцами |
Все ячейки, отличающиеся от активной ячейки в выбранном столбце. В области выделения всегда есть одна активная ячейка, будь то диапазон, строка или столбец. Нажимая клавишу ВВОД или TAB, можно изменить расположение активной ячейки , которая по умолчанию является первой ячейкой в столбце. Если выбрано несколько столбцов, сравнение делается для каждого отдельного столбца в этом столбце. Ячейка, используемая для сравнения для каждого дополнительного столбца, находится в той же строке, что и активная ячейка. |
Прецеденты |
Ячейки, на которые ссылается формула в активной ячейке. В области Зависимыесделайте следующее:
|
Иждивенцев |
Ячейки с формулами, которые ссылаются на активную ячейку. Выполните одно из указанных ниже действий.
|
Последняя ячейка |
Последняя ячейка на этом сайте с данными или форматированием. |
Только видимые ячейки |
Только ячейки, видимые в диапазоне, который пересекает скрытые строки или столбцы. |
Условные форматы |
Применяются только ячейки с условным форматированием. В области Проверка данныхсделайте следующее:
|
Проверка данных |
Только ячейки с примененными правилами проверки данных. Выполните одно из указанных ниже действий.
|
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Babilich, в модуль листа (правый клик по ярлычку листа — Исходный текст)
Код |
---|
Dim prCell As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not prCell Is Nothing Then prCell.Interior.ColorIndex = xlColorIndexNone Set prCell = Nothing End If If ActiveCell.HasFormula Then Application.EnableEvents = False Set prCell = ActiveCell On Error Resume Next Set prCell = Union(ActiveCell, ActiveCell.DirectPrecedents) prCell.Interior.Color = vbYellow Application.EnableEvents = True End If End Sub |
Если устроит, можно доделать так, чтобы залитый цветом диапазон запоминался в свойствах книги и после закрытия-открытия книги работа продолжалась нормально.