Как в excel найти ячейку определенного цвета

На чтение 3 мин Просмотров 4.4к. Опубликовано 25.11.2021

Содержание

  1. Пример использования
  2. Сортировка по цвету ячеек
  3. Фильтр по цвету ячеек

Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:

  • ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.

Ниже представлен пример, демонстрирующий работу функции.

Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9

Пример использования

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

С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.

Создатели Excel решили, начиная от 2007-ой версии ввести возможность сортировки данных по цвету. Для этого послужило поводом большая потребность пользователей предыдущих версий, упорядочивать данные в такой способ. Раньше реализовать сортировку данных относительно цвета можно было только с помощью создания макроса VBA. Создавалась пользовательская функция и вводилась как формула под соответствующим столбцом, по которому нужно было выполнить сортировку. Теперь такие задачи можно выполнять значительно проще и эффективнее.

Сортировка по цвету ячеек

Пример данных, которые необходимо отсортировать относительно цвета заливки ячеек изображен ниже на рисунке:

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

  • Щелкните на любую ячейку в области диапазона данных и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».

Поиск по цвету ячейки в Excel

  • Убедитесь, что отмечена галочкой опция «Мои данные содержат заголовки», а после чего из первого выпадающего списка выберите значение «Наименование». В секции «Сортировка» выберите опцию «Цвет ячейки». В секции «Порядок» раскройте выпадающее меню «Нет цвета» и нажмите на кнопку зеленого квадратика.

Поиск по цвету ячейки в Excel

  • Нажмите на кнопку «Копировать уровень» и в этот раз укажите желтый цвет в секции «Порядок».

Поиск по цвету ячейки в Excel

  • Аналогичным способом устанавливаем новое условие для сортировки относительно красного цвета заливки ячеек. И нажмите на кнопку ОК.

Поиск по цвету ячейки в Excel

Ожидаемый результат изображен ниже на рисунке:

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

Фильтр по цвету ячеек

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

  • Перейдите на любую ячейку диапазона и воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка и фильтр»-«Фильтр».

Поиск по цвету ячейки в Excel

  • Раскройте одно из выпадающих меню, которые появились в заголовках столбцов таблицы и наведите курсор мышки на опцию «Фильтр по цвету».

Поиск по цвету ячейки в Excel

  • Из всплывающего подменю выберите зеленый цвет.

В результате отфильтруються данные и будут отображаться только те, которые содержать ячейки с зеленым цветом заливки:

Обратите внимание! В режиме автофильтра выпадающие меню так же содержит опцию «Сортировка по цвету»:

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

Содержание

  1. Как в офисе.
  2. Вам также могут быть интересны следующие статьи
  3. Поиск по цвету ячейки в Excel
  4. Пример использования
  5. Сортировка по цвету ячеек
  6. Фильтр по цвету ячеек
  7. Заливка ячеек в зависимости от значения в Microsoft Excel
  8. Процедура изменения цвета ячеек в зависимости от содержимого
  9. Способ 1: условное форматирование
  10. Способ 2: использование инструмента «Найти и выделить»

Как в офисе.

Все мы знаем, как пользоваться инструментом «Найти и заменить» в Excel, чтобы найти определенное значение в книге. Иногда возникает необходимость просто выделить значения, которые нашел Excel.

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

Для начала воспользуемся инструментом «Найти и заменить», чтобы определить все ячейки с вхождением точки в значение. Для этого перейдем по вкладке Главная -> Редактирование —> Найти и выделить -> Найти. В появившемся диалоговом окне, ставим точку в поле поиска и жмем Найти далее.

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

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

Данный подход также применим, когда вам необходимо найти и выделить все вешние ссылки, находящиеся в ячейках книги. Для этого, вместо того чтобы искать точку, вам требуется найти квадратную скобку «[».

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

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

Вам также могут быть интересны следующие статьи

Источник

Поиск по цвету ячейки в Excel

Функция =ЦВЕТЗАЛИВКИ(ЯЧЕЙКА) возвращает код цвета заливки выбранной ячейки. Имеет один обязательный аргумент:

  • ЯЧЕЙКА — ссылка на ячейку, для которой необходимо применить функцию.

Ниже представлен пример, демонстрирующий работу функции.

Следует обратить внимание на тот факт, что функция не пересчитывается автоматически. Это связано с тем, что изменение цвета заливки ячейки Excel не приводит к пересчету формул. Для пересчета формулы необходимо пользоваться сочетанием клавиш Ctrl+Alt+F9

Пример использования

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

С помощью функции ЦВЕТЗАЛИВКИ все это становится выполнимым. Например, «протяните» данную формулу с цветом заливки в соседнем столбце и производите вычисления на основе числового кода ячейки.

Создатели Excel решили, начиная от 2007-ой версии ввести возможность сортировки данных по цвету. Для этого послужило поводом большая потребность пользователей предыдущих версий, упорядочивать данные в такой способ. Раньше реализовать сортировку данных относительно цвета можно было только с помощью создания макроса VBA. Создавалась пользовательская функция и вводилась как формула под соответствующим столбцом, по которому нужно было выполнить сортировку. Теперь такие задачи можно выполнять значительно проще и эффективнее.

Сортировка по цвету ячеек

Пример данных, которые необходимо отсортировать относительно цвета заливки ячеек изображен ниже на рисунке:

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

  • Щелкните на любую ячейку в области диапазона данных и выберите инструмент: «ДАННЫЕ»-«Сортировка и фильтр»-«Сортировка».

  • Убедитесь, что отмечена галочкой опция «Мои данные содержат заголовки», а после чего из первого выпадающего списка выберите значение «Наименование». В секции «Сортировка» выберите опцию «Цвет ячейки». В секции «Порядок» раскройте выпадающее меню «Нет цвета» и нажмите на кнопку зеленого квадратика.

  • Нажмите на кнопку «Копировать уровень» и в этот раз укажите желтый цвет в секции «Порядок».

  • Аналогичным способом устанавливаем новое условие для сортировки относительно красного цвета заливки ячеек. И нажмите на кнопку ОК.

Ожидаемый результат изображен ниже на рисунке:

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

Фильтр по цвету ячеек

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

  • Перейдите на любую ячейку диапазона и воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка и фильтр»-«Фильтр».

  • Раскройте одно из выпадающих меню, которые появились в заголовках столбцов таблицы и наведите курсор мышки на опцию «Фильтр по цвету».

  • Из всплывающего подменю выберите зеленый цвет.

В результате отфильтруються данные и будут отображаться только те, которые содержать ячейки с зеленым цветом заливки:

Обратите внимание! В режиме автофильтра выпадающие меню так же содержит опцию «Сортировка по цвету»:

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

Источник

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

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

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

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

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

Но выход существует. Для ячеек, которые содержат динамические (изменяющиеся) значения применяется условное форматирование, а для статистических данных можно использовать инструмент «Найти и заменить».

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

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

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

  1. Выделяем столбец, в котором находится информация по доходам предприятия. Затем перемещаемся во вкладку «Главная». Щелкаем по кнопке «Условное форматирование», которая располагается на ленте в блоке инструментов «Стили». В открывшемся списке выбираем пункт «Управления правилами…».
  2. Запускается окошко управления правилами условного форматирования. В поле «Показать правила форматирования для» должно быть установлено значение «Текущий фрагмент». По умолчанию именно оно и должно быть там указано, но на всякий случай проверьте и в случае несоответствия измените настройки согласно вышеуказанным рекомендациям. После этого следует нажать на кнопку «Создать правило…».
  3. Открывается окно создания правила форматирования. В списке типов правил выбираем позицию «Форматировать только ячейки, которые содержат». В блоке описания правила в первом поле переключатель должен стоять в позиции «Значения». Во втором поле устанавливаем переключатель в позицию «Меньше». В третьем поле указываем значение, элементы листа, содержащие величину меньше которого, будут окрашены определенным цветом. В нашем случае это значение будет 400000. После этого жмем на кнопку «Формат…».
  4. Открывается окно формата ячеек. Перемещаемся во вкладку «Заливка». Выбираем тот цвет заливки, которым желаем, чтобы выделялись ячейки, содержащие величину менее 400000. После этого жмем на кнопку «OK» в нижней части окна.

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

  1. Для этого после того, как из Диспетчера правил мы переходим в окно создания форматирования, то остаемся в разделе «Форматировать все ячейки на основании их значений». В поле «Цвет» можно выбрать тот цвет, оттенками которого будут заливаться элементы листа. Затем следует нажать на кнопку «OK».
  2. В Диспетчере правил тоже жмем на кнопку «OK».
  3. Как видим, после этого ячейки в колонке окрашиваются различными оттенками одного цвета. Чем значение, которое содержит элемент листа больше, тем оттенок светлее, чем меньше – тем темнее.

Способ 2: использование инструмента «Найти и выделить»

Если в таблице находятся статические данные, которые не планируется со временем изменять, то можно воспользоваться инструментом для изменения цвета ячеек по их содержимому под названием «Найти и выделить». Указанный инструмент позволит отыскать заданные значения и изменить цвет в этих ячейках на нужный пользователю. Но следует учесть, что при изменении содержимого в элементах листа, цвет автоматически изменяться не будет, а останется прежним. Для того, чтобы сменить цвет на актуальный, придется повторять процедуру заново. Поэтому данный способ не является оптимальным для таблиц с динамическим содержимым.

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

  1. Выделяем столбец с данными, которые следует отформатировать цветом. Затем переходим во вкладку «Главная» и жмем на кнопку «Найти и выделить», которая размещена на ленте в блоке инструментов «Редактирование». В открывшемся списке кликаем по пункту «Найти».
  2. Запускается окно «Найти и заменить» во вкладке «Найти». Прежде всего, найдем значения до 400000 рублей. Так как у нас нет ни одной ячейки, где содержалось бы значение менее 300000 рублей, то, по сути, нам нужно выделить все элементы, в которых содержатся числа в диапазоне от 300000 до 400000. К сожалению, прямо указать данный диапазон, как в случае применения условного форматирования, в данном способе нельзя.

Но существует возможность поступить несколько по-другому, что нам даст тот же результат. Можно в строке поиска задать следующий шаблон «3. ». Знак вопроса означает любой символ. Таким образом, программа будет искать все шестизначные числа, которые начинаются с цифры «3». То есть, в выдачу поиска попадут значения в диапазоне 300000 – 400000, что нам и требуется. Если бы в таблице были числа меньше 300000 или меньше 200000, то для каждого диапазона в сотню тысяч поиск пришлось бы производить отдельно.

Вводим выражение «3. » в поле «Найти» и жмем на кнопку «Найти все».

  • После этого в нижней части окошка открываются результаты поисковой выдачи. Кликаем левой кнопкой мыши по любому из них. Затем набираем комбинацию клавиш Ctrl+A. После этого выделяются все результаты поисковой выдачи и одновременно выделяются элементы в столбце, на которые данные результаты ссылаются.
  • После того, как элементы в столбце выделены, не спешим закрывать окно «Найти и заменить». Находясь во вкладке «Главная» в которую мы переместились ранее, переходим на ленту к блоку инструментов «Шрифт». Кликаем по треугольнику справа от кнопки «Цвет заливки». Открывается выбор различных цветов заливки. Выбираем тот цвет, который мы желаем применить к элементам листа, содержащим величины менее 400000 рублей.
  • Как видим, все ячейки столбца, в которых находятся значения менее 400000 рублей, выделены выбранным цветом.
  • Теперь нам нужно окрасить элементы, в которых располагаются величины в диапазоне от 400000 до 500000 рублей. В этот диапазон входят числа, которые соответствуют шаблону «4. ». Вбиваем его в поле поиска и щелкаем по кнопке «Найти все», предварительно выделив нужный нам столбец.
  • Аналогично с предыдущим разом в поисковой выдаче производим выделение всего полученного результата нажатием комбинации горячих клавиш CTRL+A. После этого перемещаемся к значку выбора цвета заливки. Кликаем по нему и жмем на пиктограмму нужного нам оттенка, который будет окрашивать элементы листа, где находятся величины в диапазоне от 400000 до 500000.
  • Как видим, после этого действия все элементы таблицы с данными в интервале с 400000 по 500000 выделены выбранным цветом.
  • Теперь нам осталось выделить последний интервал величин – более 500000. Тут нам тоже повезло, так как все числа более 500000 находятся в интервале от 500000 до 600000. Поэтому в поле поиска вводим выражение «5. » и жмем на кнопку «Найти все». Если бы были величины, превышающие 600000, то нам бы пришлось дополнительно производить поиск для выражения «6. » и т.д.
  • Опять выделяем результаты поиска при помощи комбинации Ctrl+A. Далее, воспользовавшись кнопкой на ленте, выбираем новый цвет для заливки интервала, превышающего 500000 по той же аналогии, как мы это делали ранее.
  • Как видим, после этого действия все элементы столбца будут закрашены, согласно тому числовому значению, которое в них размещено. Теперь можно закрывать окно поиска, нажав стандартную кнопку закрытия в верхнем правом углу окна, так как нашу задачу можно считать решенной.
  • Но если мы заменим число на другое, выходящее за границы, которые установлены для конкретного цвета, то цвет не поменяется, как это было в предыдущем способе. Это свидетельствует о том, что данный вариант будет надежно работать только в тех таблицах, в которых данные не изменяются.
  • Как видим, существует два способа окрасить ячейки в зависимости от числовых значений, которые в них находятся: с помощью условного форматирования и с использованием инструмента «Найти и заменить». Первый способ более прогрессивный, так как позволяет более четко задать условия, по которым будут выделяться элементы листа. К тому же, при условном форматировании цвет элемента автоматически меняется, в случае изменения содержимого в ней, чего второй способ делать не может. Впрочем, заливку ячеек в зависимости от значения путем применения инструмента «Найти и заменить» тоже вполне можно использовать, но только в статических таблицах.

    Источник

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Всех приветствую!
    Есть табл. Х столбцов х Х строк с числами в рублях. Часть ячеек в табл. заливают разными цветами вручную. Фрагмент такой табл. прикрепил. В реальности диапазон на много больше.
    Есть ли способ найти и выделить все ячейки с определенной заливкой? В идеале бы еще скрыть строки, не содержащие ячеек, выделенных заданным цветом.

    Изменено: Andy830.09.2021 14:26:17

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    Вас устроит ответ — можно? Если нет —  ознакомьтесь с правилами форума и прикрепите к первому сообщению пример

     

    БМВ

    Модератор

    Сообщений: 21380
    Регистрация: 28.12.2016

    Excel 2013, 2016

    #3

    30.09.2021 14:44:23

    Использовать стандартный поиск (ctrl+f) выбрать формат, там указать заливку. А вот сокрытие строк — это или через фильтр или макросом.

    Цитата
    vikttur написал:
    Если нет —  ознакомьтесь с правилами форума и прикрепите к первому сообщению пример

    Вить а что не так?

    По вопросам из тем форума, личку не читаю.

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

    #4

    30.09.2021 14:48:51

    Цитата
    БМВ написал: что не так

    Мое сообщение — 13:58:56
    Правка первого сообщения — 14:26:17

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Я не вижу в этом диалоге выбор ячеек по формату. Excel для mac редуцирован(( Либо, не там ищу?..

     

    БМВ

    Модератор

    Сообщений: 21380
    Регистрация: 28.12.2016

    Excel 2013, 2016

    #6

    30.09.2021 14:54:34

    Цитата
    Andy8 написал:
    Excel для mac редуцирован((

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

    По вопросам из тем форума, личку не читаю.

     

    БМВ

    Модератор

    Сообщений: 21380
    Регистрация: 28.12.2016

    Excel 2013, 2016

    #7

    30.09.2021 14:57:11

    Цитата
    vikttur написал:
    Мое сообщение — 13:58:56Правка первого сообщения — 14:26:17

    Клянусь косяком  (жаль что не скринил) видел файл но Изменено: — там не было, а твое уже было.

    По вопросам из тем форума, личку не читаю.

     

    vikttur

    Пользователь

    Сообщений: 47199
    Регистрация: 15.09.2012

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Вот же ошибся с веткой
    2Модератор: перенесите, пжст, в профильную ветку по Mac

     

    Jack Famous

    Пользователь

    Сообщений: 10848
    Регистрация: 07.11.2014

    OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

    Здесь тема и помрёт за отсутствием спецов  :D Помянём

    Изменено: Jack Famous30.09.2021 15:33:43

    Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

     

    VSerg

    Пользователь

    Сообщений: 370
    Регистрация: 01.01.1970

    Я конечно далеко не спец, да и не факт что еще актуально. Во вложении вариант. Целевой цвет для поиска ячеек задается заливкой ячейки I7.

    Прикрепленные файлы

    • Sample.xlsm (20.38 КБ)

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Да это прям спасение!!!
    Спасибо вам!
    Подскажите, пжст, для чайника — как этот скрипт вставить в мою книгу?

    Изменено: Andy803.10.2021 21:01:16

     

    VSerg

    Пользователь

    Сообщений: 370
    Регистрация: 01.01.1970

    #13

    03.10.2021 21:10:05

    Цитата
    Andy8 написал:
    как этот скрипт вставить в мою книгу?

    Если я правильно понял вопрос, то вставить новый модуль в редакторе VBA, скопировать в него предлагаемый код из файла или этого сообщения и назначить выполнение на какое-либо событие.
    А можно вопрос, мне очень интересно зачем вам нужно выделять несколько разрозненных ячеек? Смена цвета заливки?

    Код
    Sub main()
    Dim lRow As Long
    Dim lCol As Long
    Dim i As Long
    Dim j As Long
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim SelectedRng As Range
    Dim HideRow As Boolean
    Dim CellColor As Long
    
    Set wb = Application.ThisWorkbook
    Set ws = wb.Sheets("Sheet")
    
    lRow = ws.Cells.Find(What:="*", After:=Range("A1"), LookAt:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
    lCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column
    
    CellColor = ws.Range("I7").Interior.Color
    
    For i = lRow To 2 Step -1
        HideRow = True
        For j = 1 To lCol
            If ws.Cells(i, j).Interior.Color = CellColor Then
                If SelectedRng Is Nothing Then
                    Set SelectedRng = ws.Cells(i, j)
                Else
                    Set SelectedRng = Application.Union(SelectedRng, ws.Cells(i, j))
                    SelectedRng.Select
                End If
                HideRow = False
            End If
        Next
        If HideRow = True Then
            Cells(i, j).EntireRow.Hidden = True
        End If
    Next
    End Sub
    
     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Цель использования данного макроса — формирование списка ФИО на оплату. Т.е. в Столбце А указаны ФИО, а последующих столбцах проекты, где эти ФИО участвовали (одни и теже ФИО участвую в разных проектах с разными гонорарами). Проекты плодятся, а ФИО присылают отчеты не сразу. По мере получения отчетов, ячейка на пересечении проекта и ФИО отмечается желтым в ручном режиме. Как-то так…

    Но у меня проблема:
    Я перенес макрос в свою книгу. Поменял ячейку с образцом цвета (в макросе в 2-х местах исправил). Но при попытке запустить макрос из меню получаю ошибку — см. Что я делаю не правильно?

     

    VSerg

    Пользователь

    Сообщений: 370
    Регистрация: 01.01.1970

    Предположу, что забыли поменять имя листа. Замените в строке Set ws = wb.Sheets(«Sheet») текст в кавычках на название вашего листа с данными.

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    Да, вы правы — заработало!) Подскажите, пжст, как удовлетворить таким условиям:
    1. «образцовая» ячейка в А1
    2. диапазон для поиска ячеек со строки 3 и ниже (т.к. в строках 1-2 — заголовки)

     

    VSerg

    Пользователь

    Сообщений: 370
    Регистрация: 01.01.1970

    #17

    04.10.2021 05:53:00

    Цитата
    Andy8 написал:
    1. «образцовая» ячейка в А1.

    вместо

    Код
    CellColor = ws.Range("I7").Interior.Color

    подставить

    Код
    CellColor = ws.Range("A1").Interior.Color

    Цитата
    Andy8 написал:
    2. диапазон для поиска ячеек со строки 3 и ниже (т.к. в строках 1-2 — заголовки)

    вместо

    Код
    For i = lRow To 2 Step -1

    подставить

    Код
    For i = lRow To 4 Step -1

    Должно помочь.

     

    Andy8

    Пользователь

    Сообщений: 8
    Регистрация: 15.02.2019

    #18

    04.10.2021 11:37:38

    Цитата
    VSerg написал: подставить
    For i = lRow To 4 Step -1
    Должно помочь.

    Подставил «3» — все идеально! Спасибо вам!

    На работе столкнулся с такой задачей — имеется таблица в Excel, в которой ведется табель выходов рабочих в цеху.

    В таблице подсчитывается количество часов, фактически отработанных; часов переработки и часов сверх нормы. Так вот, необходимо сделать так, чтобы производилась автоматическая выборка ячеек таблицы по цвету заливки последних.

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

    Чтобы было понятнее, приведу изображение подобной таблицы. В ней необходимо произвести подсчет ячеек с заливкой зеленого цвета:

    Табель выходов с зелеными ячейками

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

    Прекрасное и готовое решение моей задачи я нашел на сайте http://www.excel-vba.ru/. Даже не одно, а целых два решения, под разные условия. Ниже привожу последовательность шагов, которые привели меня к успеху.

    Сразу скажу, что изображения были сделаны в Excel 2007. В Excel 2010 все несколько по другому, но запутаться невозможно, если что.

    Первое, что нужно сделать — заставить Excel работать с пользовательскими функциями. Фактически, мы будем писать сценарий на языке VBA в Excel, но такая возможность по умолчанию отключена в этой программе. Включить ее можно следующим образом.

    Переходим в “Пуск — Параметры Excel” и находим в левом списке пункт “Надстройки”:

    Excel - надстройка VBA

    Выбираем в основном окне строчку “Пакет анализа — VBA” и жмем кнопочку “Перейти” в самом низу окна. Откроется еще одно окошко со списком доступных под Excel расширений (надстроек). Снова выбираем в этом списке “Пакет анализа — VBA” и соглашаемся, что хотим установить его, нажав кнопку “ОК”:

    Excel - Пакет анализа VBA

    Потребуется установочный диск с Microsoft Office на нем (или же подключение к Интернет) чтобы программа получила необходимые пакеты для инсталляции. Если установка прошла успешно, то в “Ленте” появиться пункт “Разработчик” (Excel 2010). Можно перейти в него через эту панель или же с помощью сочетания клавиш Alt + F11.

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

    Вставка готовых функций в Excel VBA

    Но есть готовые решения, которые я вставлю в виде кода с помощью меню “Insert — Module”. Просто берем отсюда код функций и вставляем в свой Excel. Затем сохраняем файл Excel с поддержкой VBA (макросов) и все готово для дальнейшей работы.

    Вставленные функции появятся в списке формул таблицы:

    Excel - пользовательские функции

    Ниже представлен готовый код двух функций на VBA, написанных их автором Дмитрием Щербаковым. Первая функция с именем “CountByInteriorColor” выполняет подсчет количества ячеек по цвету заливки.

    Вторая функция с именем “SumByInteriorColor” выполняет выборку ячеек по цвету заливки и суммирует все значения в этих ячейках.

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


    • 1
      
      rRange
      

      — диапазон с ячейками для подсчета


    • 1
      
      rColorCell
      

      — ячейка-образец с цветом заливки


    • 1
      
      bSumHide
      

      1
      
      ИСТИНА
      

      или

      1
      
      1
      

      учитывает скрытые ячейки;

      1
      
      ЛОЖЬ
      

      ,

      1
      
      0
      

      или опущен(по умолчанию) — скрытые ячейки не подсчитываются.

    Функция подсчета количества ячеек

    '---------------------------------------------------------------------------------------
    ' Procedure : CountByInteriorColor
    ' Author    : The_Prist(Щербаков Дмитрий)
    '             http://www.excel-vba.ru
    ' Purpose   : Функция подсчета ячеек на основе цвета заливки.
    ' Аргументы:
    '             rRange     - диапазон с ячейками для подсчета.
    '             rColorCell - ячейка-образец с цветом заливки.
    '             bSumHide   - ИСТИНА или 1 учитывает скрытые ячейки.
    '                          ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не подсчитываются.
    '---------------------------------------------------------------------------------------
    Function CountByInteriorColor(rRange As Range, rColorCell As Range, Optional bSumHide As Boolean = False)
      Dim lColor As Long, rCell As Range, lCnt As Long, vVal
      lColor = rColorCell.Interior.Color
      For Each rCell In rRange
          If rCell.Interior.Color = lColor Then
              If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then
                  If bSumHide Then lCnt = lCnt + 1
              Else
                  lCnt = lCnt + 1
              End If
          End If
      Next rCell
      CountByInteriorColor = lCnt
    End Function

    Синтаксис этой функции прост:

    =CountByInteriorColor(D8:AG8;$E$65)

    Функция подсчета суммы ячеек

    '---------------------------------------------------------------------------------------
    ' Procedure : SumByInteriorColor
    ' Author    : The_Prist(Щербаков Дмитрий)
    '             http://www.excel-vba.ru
    ' Purpose   : Функция суммирования ячеек на основе цвета заливки.
    ' Аргументы:
    '             rRange     - диапазон с ячейками для суммирования.
    '             rColorCell - ячейка-образец с цветом заливки.
    '             bSumHide   - ИСТИНА или 1 учитывает скрытые ячейки.
    '                          ЛОЖЬ, 0 или опущен(по умолчанию) - скрытые ячейки не суммируются.
    '---------------------------------------------------------------------------------------
    Function SumByInteriorColor(rRange As Range, rColorCell As Range, Optional bSumHide As Boolean = False)
      Dim lColor As Long, rCell As Range, dblSum As Double, vVal
      lColor = rColorCell.Interior.Color
      For Each rCell In rRange
          If rCell.Interior.Color = lColor Then
              vVal = rCell.Value
              If IsNumeric(vVal) Then
                  If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then
                      If bSumHide Then dblSum = dblSum + vVal
                  Else
                      dblSum = dblSum + vVal
                  End If
              End If
          End If
      Next rCell
      SumByInteriorColor = dblSum
    End Function

    Синтаксис этой функции следующий:

    =SumByInteriorColor(D8:AG37;E63)

    При вставке пользовательской функции “CountByInteriorColor” и “SumByInteriorColor” можно воспользоваться либо “Мастером функций”, либо произвести указание диапазона ячеек и ячейку-критерий вручную.

    Описание рабочей формулы

    Готовый пример работы функции “CountByInteriorColor” можно посмотреть на рисунке “Табель выходов с зелеными ячейками”. В нем подсчет отработанного времени производится по следующей формуле:

    =((Сумма фактически отработанных часов) - (Норма часов выхода за месяц)) + ((Кол-во дней с переработкой)*4)

    Фактически эта формула получается такой (смотри строку №13 на рисунке):

    =(AH13-AI13) + (CountByInteriorColor(D13:AG13;$E$65)*4)

    Думаю, что больше сказать по поводу создания (точнее — вставки готового решения) пользовательских функций и способа выборки ячеек в таблице по цвету их заливки мне нечего.


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

    Выберите ячейки на основе другой ячейки с помощью команды «Найти»;

    Выберите ячейки на основе другой ячейки с помощью Kutools for Excel.

    Предположим, у вас есть диапазон данных, как на следующем снимке экрана, ячейка F3 имеет определенное форматирование, которое вы хотите, и теперь вам нужно выбрать все ячейки, которые имеют такое же форматирование с ячейкой F3 из диапазона A1: D10. Здесь я представлю вам несколько быстрых способов.

    doc-select-specific-cells-1


    Выберите ячейки на основе другой ячейки с помощью команды «Найти»

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

    Шаг 1: О Главная вкладку, перейдите к Найти и заменить, наведите на Найти опцию, вы также можете быстро активировать эту опцию поиска, нажав Ctrl + F ярлыки.

    Шаг 2: Нажмите Формат в Найти и заменить диалоговое окно и выберите Выбрать формат из ячейки. Если вы не можете узнать Формат кнопку, нажмите Опции сначала кнопку. Смотрите скриншот:

    doc-select-specific-cells-2

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

    doc-select-specific-cells-3

    Шаг 4: Нажмите Ctrl + чтобы выбрать все элементы в списке, и были выбраны те же ячейки форматирования с выбранной ячейкой, включая конкретную ячейку, см. снимок экрана:

    doc-select-specific-cells-4

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


    стрелка синий правый пузырьВыберите ячейки на основе другой ячейки с помощью Kutools for Excel

    Для Выбрать ячейки с форматом утилита сторонней надстройки Kutools for Excel, вы можете легко выбирать ячейки на основе другой выбранной ячейки.

    Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Получить сейчас

    После установки Kutools for Excel, подать заявление Выбрать ячейки с форматом в соответствии с этими шагами:

    Шаг 1: Нажмите Кутулс > Выберите Инструменты > Выбрать ячейки с форматом. Смотрите скриншот:

    doc-select-specific-cells-5

    Шаг 2: Укажите настройки во всплывающем окне Выбрать ячейки с форматом диалоговое окно. Смотрите скриншот:

    doc-select-specific-cells-8 1. Нажмите док-кнопка-1 кнопку, чтобы выбрать диапазон, в котором вы хотите выбрать все ячейки с одинаковым форматированием с определенной ячейкой.
    2, Затем нажмите Выбрать формат из ячейки кнопку, чтобы выбрать конкретную ячейку форматирования, на основе которой.
    3. Все атрибуты конкретной ячейки внесены в список, отметьте их все.

    Шаг 3:: Щелкните OK, он покажет диалоговое окно, чтобы сообщить вам, сколько ячеек будет выбрано, если вы нажмете Да, он выберет ячейки, если вы нажмете Нет, он снова выполнит поиск в диапазоне. Смотрите скриншот:

    doc-select-specific-cells-6

    Шаг 4: Нажмите Да, выбраны все ячейки с одинаковым форматированием в выбранном диапазоне с базовой ячейкой.

    doc-select-specific-cells-7

    Для получения более подробной информации перейдите по ссылке Выбрать ячейки с форматом.


    Относительная статья:

    Как определить и выделить все жирные ячейки или текст в Excel?


    Лучшие инструменты для работы в офисе

    Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

    • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
    • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
    • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
    • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
    • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
    • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
    • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
    • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
    • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

    вкладка kte 201905


    Вкладка Office: интерфейс с вкладками в Office и упрощение работы

    • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
    • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
    • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

    офисный дно

    Понравилась статья? Поделить с друзьями:
  • Как в excel найти только уникальные значения
  • Как в excel найти связь на внешний источник
  • Как в excel найти только положительные числа
  • Как в excel найти связи которых нет
  • Как в excel найти только первое значения