Как сделать чтобы при поиске в excel 2010 строка выделялась цветом

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

Как часто при работе с большими таблицами данных вы теряли из виду нужный столбец или строку?
Или, например, вы находите нужную ячейку и пытаетесь определить в каком столбце или строчке она находится?

Поэтому при подобных проблемах с таблицами многие начинают использовать подручные средства: ведут пальцем по экрану или прикладывают лист бумаги к монитору и т.д.
На самом деле эту задачу можно решить куда проще и эффективнее программным путем.

Поэтому давайте представим что при изменении активной ячейки текущая строка и столбец выделялись бы определенным цветом, что позволило бы существенно упростить задачу поиска дынных.
Подобный способ выделения данных часто называют координатным (за схожий внешний вид) или перекрестным.

Перейдем к реализации и разберем 2 разновидности перекрестного выделения: с помощью макроса и условного форматирования.

Способ 1. Макрос

Давайте подумаем каким образом макрос должен производить перекрестное отображение данных на листе.

Во-первых, нам необходимы 2 макроса, которые будут включать или отключать опцию отображения.
Это пригодится нам для удобства работы, чтобы выделение работало исключительно в нужные моменты (при поиске) и не мешало работать в остальных (при вводе формул, создании графиков и т.д.)

Во-вторых, нам нужен сам макрос выделения строк и столбцов для ячейки. Соответственно, постоянно работает при включении опции отображения и не работает при отключенной опции.

Перейдем в редактор Visual Basic (быстрый переход с помощью комбинации клавиш Alt + F11).
Далее добавим в исходный код листа (в левой части панели выбираете нужный лист, правой кнопкой мышки щелкаете по нему и выбираете View Code) вставляем туда следующий код:

Возвращаемся в Excel. Для начала работы координатного пересечения необходимо включить опцию отображения, для этого открываем окно с макросами (сочетание клавиш Alt + F8) и запускаем макрос Coordinate_Selection_On (для отключения опции запускаем Coordinate_Selection_Off).

Все готово (не забудьте сначала запустить макрос Coordinate_Selection_On):


Из плюсов данного способа можно выделить простоту реализации, а к минусам — проблемы с отображением при наличии объединенных ячеек.

Теперь перейдем к альтернативной реализации.

Способ 2. Условное форматирование

Следующий способ базируется на 2 основных принципах: условном форматировании (которое будет подсвечивать все ячейки в строке и столбце) и свойствах функции ЯЧЕЙКА (которая позволит нам составить правило для форматирования).

Пойдем по порядку.
Выделим диапазон таблицы (в нашем примере это A1:Z35), для которого будем делать перекрестное выделение.
Далее в панели вкладок выбираем Главная -> Условное форматирование и нажимаем Создать правило:

Настройка формата отображения


В появившемся окне выбираем Использовать формулу для определения форматируемых ячеек и в описании правила вставляем следующую формулу:

Затем нажимаем кнопку Формат и настраиваем внешний вид выделяемых данных (цвет заливки, шрифта) по своему усмотрению.

Что нам дает функция ЯЧЕЙКА?

Мы уже сталкивались с ней, когда, например, получали имя листа в виде формулы.
Данная функция возвращает различные свойства ссылки в зависимости от параметров введенных аргументов. Поэтому формулы ЯЧЕЙКА("строка") и ЯЧЕЙКА("столбец") вернут нам, соответственно, номер строки и столбца текущей ячейки.
Следовательно, введенная формула выделит все ячейки таблицы, где строка (или столбец) совпадают со строкой (или столбцом) текущей ячейки, в результате после форматирования и получится перекрестное выделение.

Однако условное форматирование не будет работать, если на листе не произойдет никаких изменений (передвижение активной ячейки к таковым не относится), и раскраска ячеек останется прежней.
Чтобы этого избежать напишем несложный макрос, который бы пересчитывал содержимое текущей ячейки, и в результате запускал бы обновление раскраски.
Переходим в редактор VBA и в модуль листа, где содержится таблица, добавляем следующий код:

Заливка цветом ячеек в Microsoft Excel

При работе с таблицами первоочередное значение имеют выводимые в ней значения. Но немаловажной составляющей является также и её оформление. Некоторые пользователи считают это второстепенным фактором и не обращают на него особого внимания. А зря, ведь красиво оформленная таблица является важным условием для лучшего её восприятия и понимания пользователями. Особенно большую роль в этом играет визуализация данных. Например, с помощью инструментов визуализации можно окрасить ячейки таблицы в зависимости от их содержимого. Давайте узнаем, как это можно сделать в программе Excel.

Процедура изменения цвета ячеек в зависимости от содержимого

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

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

Способ 1: условное форматирование

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

Посмотрим, как этот способ работает на конкретном примере. Имеем таблицу доходов предприятия, в которой данные разбиты помесячно. Нам нужно выделить разными цветами те элементы, в которых величина доходов менее 400000 рублей, от 400000 до 500000 рублей и превышает 500000 рублей.

Переход к управлению правилами в Microsoft Excel

Переход к созданию правила в Microsoft Excel

Окно создания правила форматирования в Microsoft Excel

Выбор цвета ячейки в Microsoft Excel

Создание правила форматирования в Microsoft Excel

Переход к созданию следующего правила в Microsoft Excel

Переход в окно форматирования в Microsoft Excel

Окно форматирования в Microsoft Excel

Завершене создания правила в Microsoft Excel

Переход к созданию последнего правила в Microsoft Excel

Окно создания правила в Microsoft Excel

Окно формат ячеек в Microsoft Excel

Последнее правило создано в Microsoft Excel

Завершение работы в Диспетчере правил в Microsoft Excel

Ячейки окрашены согласно заданным условиям в Microsoft Excel

Смена цвета в ячеке в Microsoft Excel

Кроме того, можно использовать условное форматирование несколько по-другому для окраски элементов листа цветом.

Форматирование ячеек на основании их значений в Microsoft Excel

Диспетчер правил в Microsoft Excel

Ячейки отформатированы в Microsoft Excel

Посмотрим, как это работает на конкретном примере, для которого возьмем все ту же таблицу дохода предприятия.

Переход в окно Найти и заменить в Microsoft Excel

Запуск поиска в Microsoft Excel

Выделение результатоа поисковой выдачи в Microsoft Excel

Выбор цвета заливки в Microsoft Excel

Ячейки выделены синим цветом в Microsoft Excel

Поиск второго интервала значений в Microsoft Excel

Выбор цвета заливки для второго диапазона данных в Microsoft Excel

Ячейки выделены зеленым цветом в Microsoft Excel

Поиск третьего интервала значений в Microsoft Excel

Выбор цвета заливки для третьего диапазона данных в Microsoft Excel

Все ячейки окрашены в Microsoft Excel

Цвет не поменялся после изменения значения в ячейке в Microsoft Excel

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

При открытом диалоговом окне, нажмите Ctrl+A на клавиатуре. Это действие приведет не только к выделению всего списка найденных значений в диалоговом окне, но и выделит все найденные ячейки на листе.

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

найти и выделить excel

Почему открывающуюся квадратную скобку? Потому что Excel использует квадратные скобки [] для указания источника данных внешних ссылок.

Обратите внимание, что в этом случае Excel не найдет внешние ссылки, спрятанные в объектах или именованных диапазонах.

Надстройка пригодится тем, кто часто работает с большими таблицами, просматривая их и сопоставляя данные в строках и столбцах. Что дает эта надстройка? Она выделяет столбец и строку таблицы на пересечении выделенной ячейки, благодаря чему можно просмотреть все данные в столбце и строке активной ячейки, не перепроверяя себя лишний раз – "А в том ли столбце я смотрю данные?".

Метод - выбор метода подсветки строки и столбца, их два:

  • выделение - строка и столбец выделяются так же, как если бы вы выделяли ячейки мышкой. У этого метода есть один недостаток. Если на листе в этом режиме будут сделаны изменения(удаление значения ячейки), то отменить их будет невозможно
  • условное форматирование - строка и столбец выделяются при помощи условного форматирования. Можно выбрать один из шести цветов для подсветки выделения строки и столбца. У такого подхода тоже есть недостаток. Все условное форматирование, примененное к текущему листу ранее, будет удалено

Весь лист - выделяются строка и столбец всего листа.

Вся таблица данных - выделяются строка и столбец только в пределах используемого диапазона данных.

Выбранный диапазон - выделяются строка и столбец только в пределах указанного вами диапазона. Особенность: не допускается выделение несвязанных диапазонов.

Область применения - выбирается область листа, к которой применяется координатное выделение:

  • только строка - выделяется только строка активной ячейки
  • только столбец - выделяется только столбец активной ячейки
  • строка и столбец - выделяется строка и столбец на пересечении активной ячейки

Отменить Координатное выделение - отменяет примененное координатное выделение.

Важно! При примененном координатном выделении невозможно скопировать выделенный диапазон, однако можно удалить значение активной ячейки (будет удалено только значение одной ячейки, расположенной на пересечении строки и столбца).

ExcelVBA_KoordSel.zip (49,5 KiB, 5 110 скачиваний)

В архиве расположен файл надстройки. Прежде чем установить надстройку, необходимо её распаковать из архива на жесткий диск, после чего установить. Как установить надстройку: Установка надстроек

Надстройка распространяется бесплатно и с открытыми исходными кодами - смотрите, изучайте, меняйте под себя.
Самый важный момент для тех, кого не устроит цвет выделения по умолчанию: чтобы изменить цвет выделения ячеек через условное форматирование, необходимо перейти в модуль mKoordSelection, найти вверху строку
Public Const lKS_FC_Color As Long = 10921638
и заменить число 10921638 на числовой код нужного цвета заливки. Подобрать нужный цвет можно следующим образом:

  • назначаем заливке любой ячейки нужный цвет
  • выделяем эту ячейку и выполняем код:

Sub GetActiveCellColor() MsgBox ActiveCell.Interior.Color, vbInformation, sAPP_NAME End Sub

этот код так же есть внутри надстройки, поэтому его можно вызвать просто через Alt+F8
Изменить цвет выделения методом Обычного выделения нельзя. Это ограничение самого Excel. Можно изменить только изменением цветовых схем Windows.

Читайте также: