Как посчитать количество и сумму ячеек по цвету в Excel 2010 и 2013

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

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

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

Если не применять посторонние надстройки, существует лишь одно решение – сделать пользовательскую функцию (UDF). Если Вы не достаточно понимаете о данной для нас технологии либо совершенно никогда не слышали этого термина, не пугайтесь, Для вас не придётся писать код без помощи других. Тут Вы найдёте хороший готовый код (написанный нашим гуру Excel), и всё, что Для вас будет нужно создать – это скопировать его и вставить в свою рабочую книжку.

  • Считаем и суммируем по цвету, когда ячейки раскрашены вручную

Как считать и суммировать по цвету на листе Excel

Представим, у Вас есть таблица заказов компании, в которой ячейки в столбце Delivery раскрашены в зависимости от их значений: Due in X Days – оранжевые, Delivered – зелёные, Past Due – красноватые.

Сейчас мы желаем автоматом сосчитать количество ячеек по их цвету, другими словами сосчитать количество бардовых, зелёных и оранжевых ячеек на листе. Как я уже произнес выше, прямого решения данной для нас задачки не существует. Но, к счастью, в нашей команде есть весьма опытные и понимающие Excel гуру, и один из их написал идеальный код для Excel 2010 и 2013. Итак, сделайте 5 обычных шагов, обрисованных дальше, и через пару минут Вы узнаете количество и сумму ячеек подходящего цвета.

  1. Откройте книжку Excel и нажмите Alt+F11, чтоб запустить редактор Visual Basic for Applications (VBA).
  2. Правой клавишей мыши кликните по имени Вашей рабочей книжки в области Project – VBAProject, которая находится в левой части экрана, дальше в показавшемся контекстном меню нажмите Insert > Module.Подсчет и суммирование ячеек по цвету в Excel
  3. Вставьте на собственный лист вот таковой код:
  1. Сохраните рабочую книжку Excel в формате .xlsm (Книжка Excel с поддержкой макросов).Если Вы не очень уверенно чувствуете себя с VBA, то поглядите подробную пошаговую аннотацию и массу нужных советов в учебнике Как вставить и запустить код VBA в Excel.
  2. Когда все закулисные деяния будут выполнены, изберите ячейки, в которые необходимо вставить итог, и введите в их функцию CountCellsByColor:

CountCellsByColor( спектр , код_цвета )

В этом примере мы используем формулу =CountCellsByColor(F2:F14,A17), где F2:F14 – это спектр, содержащий раскрашенные ячейки, которые Вы желаете посчитать. Ячейка A17 – содержит определённый цвет заливки, в нашем случае красноватый.

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

Подсчет и суммирование ячеек по цвету в Excel

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

SumCellsByColor( спектр , код_цвета )

Подсчет и суммирование ячеек по цвету в Excel

Как показано на скриншоте ниже, мы употребляли формулу:

где D2:D14 – спектр, A17 – ячейка с прототипом цвета.

Таковым же образом Вы сможете посчитать и просуммировать ячейки по цвету шрифта с помощью функций CountCellsByFontColor и SumCellsByFontColor соответственно.

Подсчет и суммирование ячеек по цвету в Excel

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

По сути, это обычное поведение макросов в Excel, скриптов VBA и пользовательских функций (UDF). Дело в том, что все подобные функции вызываются лишь конфигурацией данных на листе, но Excel не расценивает изменение цвета шрифта либо заливки ячейки как изменение данных. Потому, опосля конфигурации цвета ячеек вручную, просто поставьте курсор на всякую ячейку и кликните F2, а потом Enter, сумма и количество опосля этого обновятся. Так необходимо создать, работая с хоть каким макросом, который Вы найдёте дальше в данной для нас статье.

Считаем сумму и количество ячеек по цвету во всей книжке

Представленный ниже скрипт Visual Basic был написан в ответ на один из объяснений читателей (также нашим гуру Excel) и делает конкретно те деяния, которые упомянул создатель комментария, а конкретно считает количество и сумму ячеек определённого цвета на всех листах данной книжки. Итак, вот этот код:

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

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

Пользовательские функции для определения кодов цвета заливки ячеек и цвета шрифта

Тут Вы найдёте самые принципиальные моменты по всем функциям, использованным нами в этом примере, также пару новейших функций, которые определяют коды цветов.

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

Функции, которые считают количество по цвету:

  • CountCellsByColor( спектр , код_цвета ) – считает ячейки с данным цветом заливки.В примере, рассмотренном выше, мы употребляли вот такую формулу для подсчёта количества ячеек по их цвету:

где F2:F14 – это избранный спектр, A17 – это ячейка с необходимым цветом заливки.

Функции, которые суммируют значения по цвету ячейки:

  • SumCellsByColor( спектр , код_цвета ) – вычисляет сумму ячеек с данным цветом заливки.
  • SumCellsByFontColor( спектр , код_цвета ) – вычисляет сумму ячеек с данным цветом шрифта.

Функции, которые возвращают код цвета:

  • GetCellFontColor( ячейка ) – возвращает код цвета шрифта в избранной ячейке.
  • GetCellColor( ячейка ) – возвращает код цвета заливки в избранной ячейке.Подсчет и суммирование ячеек по цвету в Excel

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

Интересно почитать:  Как в excel сделать чтобы текст не выходил за пределы ячейки

Как посчитать количество и сумму ячеек по цвету, раскрашенных с помощью условного форматирования

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

Естественно, Вы сможете отыскать тонны кода VBA в вебе, который пробует создать это, но все эти коды (по последней мере, те экземпляры, которые попадались мне) не обрабатывают правила условного форматирования, такие как:

  • Format all cells based on their values (Форматировать все ячейки на основании их значений);
  • Format only top or bottom ranked values (Форматировать лишь 1-ые либо крайние значения);
  • Format only values that are above or below average (Форматировать лишь значения, которые находятся выше либо ниже среднего);
  • Format only unique or duplicate values (Форматировать лишь неповторимые либо повторяющиеся значения).

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

Код VBA, приведённый ниже, преодолевает все обозначенные выше ограничения и работает в таблицах Microsoft Excel 2010 и 2013, с хоть какими типами условного форматирования (и опять спасибо нашему гуру!). В итоге он выводит количество раскрашенных ячеек и сумму значений в этих ячейках, независимо от типа условного форматирования, применённого на листе.

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

  1. Добавьте код, приведённый выше, на Ваш лист, как мы делали это в первом примере.
  2. Изберите спектр (либо спектры), в которых необходимо сосчитать цветные ячейки либо просуммировать по цвету, если в их содержатся числовые данные.
  3. Нажмите и удерживайте Ctrl, кликните по одной ячейке подходящего цвета, потом отпустите Ctrl.
  4. Нажмите Alt+F8, чтоб открыть перечень макросов в Вашей рабочей книжке.
  5. Изберите макрос SumCountByConditionalFormat и нажмите Run (Выполнить).Подсчет и суммирование ячеек по цвету в ExcelВ итоге Вы увидите вот такое сообщение:

Для этого примера мы избрали столбец Qty. и получили последующие числа:

  • Count – это число ячеек искомого цвета; в нашем случае это красный цвет, которым выделены ячейки со значением Past Due.
  • Sum – это сумма значений всех ячеек красноватого цвета в столбце Qty., другими словами полное количество частей с отметкой Past Due.
  • Color – это шестнадцатеричный код цвета выделенной ячейки, в нашем случае D2.

Рабочая книжка с примерами для скачки

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

Как в Excel произвести суммирование по цвету шрифта либо заливке ячейки?

Для выполнения данной операции нужен пакет утилит Excel под заглавием ASAP Utilities.

Совершенно, подсчет по цветам комфортен в том случае, если вы работаете с цветной таблицей.

Как подсчитать и просуммировать количество ячеек по цвету фона либо шрифта в Excel

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

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

asap

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

Шаг 1: Откройте лист, содержащий цветные ячейки. Нажмите на всякую пустую ячейку, в которую необходимо поместить итог.

Шаг 2: Сейчас откройте вкладку ASAP Utilities. Из выпадающего перечня Формулы изберите 12. Вставить функцию из библиотеки ASAP Utilities:

asap1

Шаг 3: Опосля этого покажется диалоговое окно, содержащее огромное количество формул. Из такого же перечня, изберите функцию ASAPCOUNTBYCELLCOLOR и нажмите клавишу OK.

asap3

Шаг 4: Сейчас покажется диалоговое окно с аргументами функции. Укажите их и нажмите клавишу ОК.

asap2

В поле Reference укажите спектр, в котором нужно произвести вычисления, Color_index_nr — адресок ячейки, цвет которой нужно учесть.

Опосля нажатия на ОК для вас будет показан итог:

asap4

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

Подсчет количества ячеек по цвету шрифта

Процесс подсчета в значимой степени похож на тот , что описан выше. Лишь в данном случае посреди формул нужно избрать ASAPCOUNTBYFONTCOLOR.

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

asap5

Как просуммировать ячейки по цвету фона либо шрифта в Excel

Сумма ячеек по цвету фона

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

Шаг 1: Откройте лист Excel, имеющий цветные ячейки со значениями в их. Изберите определенную ячейку, в которой необходимо показать итог.

Шаг 2: Перейдите на вкладку ASAP Utilities, в разделе формул опять-таки изберите раздел 12. Вставить функцию из библиотеки ASAP Utilities .

Шаг 3:Список функций прокрутите перечень вниз и изберите функцию ASAPSUMBYCELLCOLOR и нажмите клавишу OK.

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

asap6

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

Сумма ячеек по цвету шрифта в их

Процесс подсчета аналогичен вышеперечисленному, но в списке функция необходимо избрать ASAPSUMBYFONTCOLOR.

Покажется диалоговое окно, где вы должны указать спектр ячеек и адресок ячейки с прототипом цвета шрифта. Нажмите OK.

asap7

Вывод

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

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Функция СЧЁТЕСЛИ в MS Excel, дозволяет посчитать количество ячеек, которые отвечают данному аспекту поиска, в обозначенном спектре. Разглядим, как это работает на примерах.

Интересно почитать:  Excel нумерация ячеек

Как вызвать функцию СЧЁТЕСЛИ СЧЁТЕСЛИ в MS Excel.

Жмем на кнопу Вставить функцию и в открывшемся диалоговом окне Вставка функции, в поле поиск, пишем СЧЁТЕСЛИ. Жмем отыскать. Обращаю внимание, что в поле поиска, писать СЧЁТЕЛСИ, нужно конкретно с буковкой Ё. По-другому поиск не отыщет интересующую нас функцию. По результатам поиска, избираем подходящую нам функцию.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Аргументы функции СЧЁТЕСЛИ в MS Excel.

Опосля того, как была выбрана функция СЧЁТЕСЛИ, возникает диалоговое окно Аргументы функции. В данном диалоговом окне есть два поля для наполнения:

  1. Спектр, тут нужно указать спектр ячеек, в которых будет осуществляться поиск ячеек с значениями, которые отвечают аспектам поиска. Избрать нужный спектр можно поначалу поставив курсор на поле Спектр, а позже выделив нужные ячейки.
  2. Аспект, тут нужно указать условие (аспект поиска), согласно которому функция будет находить и подсчитывать количество ячеек в данном Спектре.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Какие варианты критериев поиска есть.

В данном пт, на примерах разглядим, какие варианты критериев для поиска можно применять в функции СЧЁТЕСЛИ. Представим, что у нас есть обычная таблица, с текстовыми данными и числами.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Больше (>), меньше(<), больше либо равно (>=), меньше либо равно (<=), равно (=), не равно (<>).

Больше.

Найдем, сколько ячеек в столбце Числа, содержат в для себя значение больше числа 50. Вызываем функцию СЧЁТЕСЛИ в ячейку Е2. В диалоговом окне Аргументы функции, в поле Спектр, указываем спектр С3:С17. Это ячейки столбца Числа, в которых мы будем производить поиск. В поле Аспект, пишем символ больше «>», и число 50.

Формула функции будет смотреться вот так:

Кавычки покажутся автоматом, опосля того, как надавить ОК.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Получаем итог — 5 ячеек. Сами ячейки, с значением больше пятидесяти, залиты желтоватым цветом для наглядности.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

По такому же принципу работаю другие варианты. Если продолжать разглядывать на нашем примере, Спектр для всех других случаев остаётся без конфигурации. Изменяется Аспект.

Меньше.

Используем символ меньше «<».

В поле Аспект, диалогового окна Аргументы функции, пишем: <50.

Формула функции будет смотреться вот так:

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

В итоге получим количество ячеек, числа в которых меньше 50.

Больше либо равно.

В поле Аспект, диалогового окна Аргументы функции, пишем: >=50.

Формула функции будет смотреться вот так:

В итоге получим количество ячеек, числа в которых больше либо равны 50.

Меньше либо равно.

В поле Аспект, диалогового окна Аргументы функции, пишем: <=50.

Формула функции будет смотреться вот так:

В итоге получим количество ячеек, числа в которых меньше либо равны 50.

Равно.

В поле Аспект, диалогового окна Аргументы функции, пишем: =50.

Формула функции будет смотреться вот так:

В итоге получим количество ячеек, числа в которых равны 50.

Не равно.

В поле Аспект, диалогового окна Аргументы функции, пишем: <>50.

Формула функции будет смотреться вот так:

В итоге получим количество ячеек, числа в которых не равны 50.

Ссылка на ячейку в качестве аспекта поиска функции СЧЁТЕСЛИ в MS Excel.

Может быть применять ссылку на ячейку в качестве аспекта поиска. В нашем примере найдем сколько ячеек в столбце Числа содержат в для себя число 50. Значения в поле Спектр, диалогового окна Аргументы функции, остаётся без конфигураций. В поле Аспект указываем всякую ячейку из обозначенного спектра, которая отвечает нашему аспекту. В нашем пример выберем ячейку С11.

Формула функции будет смотреться вот так:

Кавычки в таком варианте не необходимы.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Жмем ОК. Получаем итог. Количество ячеек, которые содержат то же значение, что и ячейка С11. Три ячейки. Они залиты желтоватым цветом для наглядности.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

При внедрение в качестве аспекта поиска ссылку на ячейку, применять знаки: <, >, =, <=, >=, <>, нужно с знаком амперсанда (&), меж этими знаками с самой ссылкой на ячейку.

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

Для примера, формулы с знаком больше будет смотреться вот так:

Текстовые значения в качестве аспекта поиска функции СЧЁТЕСЛИ в MS Excel.

В качестве аспекта поиска в поле Аспект, в диалоговом окне Аргументы функции, можно применять текстовое значения. К примеру, можно отыскать в столбце Значения, количество ячеек, которые не содержат в для себя Значение 1. Меняем Спектр поиска.

Формула функции будет смотреться вот так:

Кавычки около знака не равно (<>) ставить вручную.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Если применять в качестве аспекта не ссылку на ячейку, в которой есть текст, а сам текст, его нужно заключить в кавычки вручную.

Формула функции будет смотреться вот так:

Может быть производить поиск указав в аспекты лишь часть слова либо одну буковку. К примеру, у нас есть столбец, в котором обозначено заглавие мебели.

Функция СЧЁТЕСЛИ в MS Excel. Описание и примеры

Найдем количество ячеек, со словом Стол, указав в аспекты поиска часть букв из этого слова, которые стоят в начале: Ст

В поле Аспект, в диалоговом окне Аргументы функции, указываем: «Ст*».

Формула функции будет смотреться вот так:

Сейчас укажем в аспекты поиска конец слова. К примеру, буковку ф, из слова шкаф.

В поле Аспект, в диалоговом окне Аргументы функции, указываем: «*ф».

Формула функции будет смотреться вот так:

Кавычки около Ст* и *ф, ставятся автоматом.

Варианты использования функции СЧЁТЕСЛИ с 2-мя (несколькими) аспектами поиска описаны в статье: Функция СЧЁТЕСЛИ с внедрением 2-ух (нескольких) критериев поиска. Описание и примеры.

VBA Excel. Цвет ячейки (заливка, фон)

Начиная с Excel 2007 главным методом заливки спектра либо отдельной ячейки цветом (зарисовки, прибавления, конфигурации фона) является внедрение характеристики .Interior.Color объекта Range методом присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).

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

Пример кода 1:

Расположите пример кода в собственный программный модуль и нажмите клавишу на панели инструментов «Run Sub» либо на клавиатуре «F5», курсор должен быть снутри выполняемой программки. На активном листе Excel ячейки и спектр, избранные в коде, окрасятся в надлежащие цвета.

Есть один увлекательный аспект: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме наибольшего значения палитры (16777215) и присвоенного отрицательного значения. К примеру, заливка всех 3-х ячеек опосля выполнения последующего кода будет схожа:

Испытано в Excel 2016.

Вывод сообщений о числовых значениях цветов

Числовые значения цветов уяснить нереально, потому нередко возникает вопросец о том, как выяснить числовое значение фона ячейки. Последующий код VBA Excel выводит сообщения о числовых значениях присвоенных ранее цветов.

Пример кода 2:

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

Интересно почитать:  Как в excel связать ячейки на одном листе

Внедрение предопределенных констант

В VBA Excel есть предопределенные константы нередко применяемых цветов для заливки ячеек:

Предопределенная константа Наименование цвета
vbBlack Темный
vbBlue Голубой
vbCyan Бирюзовый
vbGreen Зеленоватый
vbMagenta Пурпуровый
vbRed Красноватый
vbWhite Белоснежный
vbYellow Желтоватый
xlNone Нет заливки

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

Пример кода 3:

Цветовая модель RGB

Цветовая система RGB представляет собой комбинацию разных по интенсивности главных 3-х цветов: красноватого, зеленоватого и голубого. Они могут принимать значения от 0 до 255. Если все значения равны 0 — это темный цвет, если все значения равны 255 — это белоснежный цвет.

Избрать цвет и выяснить его значения RGB можно при помощи палитры Excel:

Палитра Excel

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

Пример кода 4:

Чистка ячейки (спектра) от заливки

Для чистки ячейки (спектра) от заливки употребляется константа xlNone :

Свойство .Interior.ColorIndex объекта Range

До возникновения Excel 2007 была лишь ограниченная гамма для заливки ячеек фоном, состоявшая из 56 цветов, которая сохранилась и в истинное время. Любому цвету в данной для нас гамме присвоен индекс от 1 до 56. Присвоить цвет ячейке по индексу либо вывести сообщение о нем можно при помощи характеристики .Interior.ColorIndex:

Пример кода 5:

Просмотреть ограниченную гамму для заливки ячеек фоном можно, запустив в VBA Excel простой макрос:

Пример кода 6:

Номера строк активного листа от 1 до 56 будут соответствовать индексу цвета, а ячейка в первом столбце будет залита подходящим индексу фоном.

Готовую обычную гамму из 56 цветов сможете поглядеть тут.

58 объяснений для “VBA Excel. Цвет ячейки (заливка, фон)”

Спасибо, в конце концов то разобрался во всех перипетиях заливки и цвета шрифта.

Пожалуйста, Виктор. Весьма рад, что статья понадобилась.

как проверить наличие фона?

Привет, Надежда!
Фон у ячейки есть постоянно, по умолчанию — белоснежный. Отсутствие цветного фона можно найти, проверив, является ли цвет ячейки белоснежным:

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

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

Каким образом можно применять не в процедуре, а конкретно в пользовательской функции VBA свойство .Interior.Color?
Скажем, инспектировать функцией значение некий ячейки и подкрашивать ячейку в зависимости от этого.

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

Но, при помощи пользовательской функции VBA можно вывести значения параметров ячейки, в которой она расположена:

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

Для подкрашивания ячейки в зависимости от ее значения используйте функцию Sub либо штатный инструмент Excel – условное форматирование.

как можно закрасить лишь пустые ячейки ?

Лев, закрасить пустые ячейки можно при помощи цикла For Each… Next:

Евгений, спасибо за ссылку на увлекательный прием.

Евгений, денек хороший.
Подскажите пожалуйста, как назначить ячейке цвет через значение RGB, которое в ней записано. Либо цвет иной ячейки.

Привет, Александр!
Используйте функцию InStr, чтоб отыскать положение разделителей, а далее функции Left и Mid. Смотрите пример с пробелом в качестве разделителя:

Либо еще проще при помощи функции Split:

Хороший денек!
подскажите, пожалуйста, как можно выводить из таблицы (150 столбцов х 150 строк) адресок ячеек (перечнем), если они имеют заливку определенного цвета.
Заблаговременно спасибо!

Привет, Валентина!
Используйте два цикла For…Next. Найти числовой код цвета можно при помощи выделения одной из ячеек с необходимым цветом.

столбец «D» имеет разноцветную заливку
нужно справа от зеленоватой ячейки написать «Да»

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

Евгений, спасибо за подсказку.
Все вышло

хороший денек! подскажите, пожалуйста, как создать, чтоб результаты выводились на отдельный лист ?
заблаговременно спасибо!

Валентина, поменяйте в коде имя «Лист2» на имя собственного листа.

Евгений. Длительное время мучаюсь реализацией последующего сценария: в таблице Excel, которая является базой данных пациентов отделения есть столбец «G» в котором лаборанты отмечают исследования выполненные с контрастом «(С+)» и без «(C-)» и дальше в столбце «N» они отмечаются количество использованного контраста «от 50мл до 200мл»; для удобства ввода и уменьшения числа ненамеренных ошибок в столбцах реализована функция проверки данных что бы сотрудники могли выбирать уже готовые значения из перечня и если ошибутся то выскочит ошибка; тем не наименее сотрудники умудряются при заполнении таблицы не заносить количество использованного контраста. Вопросец заключается в том, как подкрасить ячейку для ввода количества контраста красноватым цветом при условии, что в ячейке столбца G бытует (С+) с целью акцентировать на этом внимание.
Заблаговременно спасибо за ответ.

Хороший денек, Алексей!
Примените условное форматирование:

1 Изберите столбец «N».
2 На вкладке ленты «Основная» перейдите по ссылкам «Условное форматирование» «Сделать правило».
3 В открывшемся окне изберите тип правила: «Применять формулу для определения форматируемых ячеек».
4 В строчку формул вставьте =И(ЕСЛИ(G1=»(C+)»;1);ЕСЛИ(N1=»»;1)) . Буковка «C» обязана быть из одной раскладки (ENG либо РУС) в формуле и в ячейке.
5 Нажмите клавишу «Формат» и на вкладке «Заливка» изберите красноватый цвет.
6 Закройте все окна, нажимая «OK».

Если в ячейке столбца «G» будет выбрано «(С+)», то ячейка той же строчки в столбце «N» подкрасится красноватым цветом. Опосля ввода значения в ячейку столбца «N», ее цвет поменяется на начальный.

Спасибо Евгений! Ваш пример почти все прояснил (в т.ч нужно читать Уокенбаха и не филонить). Мне удалось вынудить работать этот сценарий не так роскошно как у Вас т.е сделал для каждой отдельной переменной свое правило: пр. для ГМ. (С+) —> =ЕСЛИ(И(G5066=»ГМ. (С+)»;N5066=»»);»Правда»;»Ересь»)
МТ. (С+) —> =ЕСЛИ(И(G5066=»МТ. (С+)»;N5066=»»);»Правда»;»Ересь») и т.д всего 8 правил для всякого определенного варианта.
И применил их всех для столбца N:N

Ячейку G брал произвольно и в предстоящем совершенно убрал ее на лист метаданных (спектры переменных типа ГМ. (С+), МТ. (С+)…)
Снова благодарю за помощь! а есть возможность тоже самое создать цикличным скриптом VBA ? (либо я сморозил…).
Заблаговременно спасибо за ответ.

Ссылка на основную публикацию
Adblock
detector