Excel. Подсчет числа ячеек, содержащих текст определенного цвета Довольно часто пользователи «раскрашивают» ячейки в разные цвета. Если потом возникает необходимость просуммировать значения в выделенных ячейках, то, к сожалению, у Excel`я нет такой стандартной функции. Я написал небольшой код, позволяющий легко решить эту задачу при помощи пользовательской функции СумЦвет. Недавно у меня возникла похожая задача: требовалось определить число ячеек, цвет текста в которых был красным. Если вы впервые хотите добавить пользовательскую функцию, вам будет полезна моя статья, в которой перечислены шаги по «внедрению» кода в файлы Excel. Для подсчета числа ячеек в диапазоне, содержащих текст эталонного цвета я написал пользовательскую функцию КолЦветТст (количество по цвету текста). Вот её код: Function КолЦветТст(диапазон As Range, критерий As Range) As Long Application.Volatile True Dim i As Range For Each i In диапазон If i.Font.ColorIndex = критерий.Font.ColorIndex Then КолЦветТст = КолЦветТст + 1 End If Next End Function Скачайте пример в формате Excel2007. Несколько слов о том, как работает код: Function КолЦветТст(диапазон As Range, критерий As Range) As Long / Задает пользовательскую функция под названием КолЦветТст с двумя параметрами: диапазоном и критерием – ячейкой, по цвету текста в которой определяется, какие ячейки учитываются. Application.Volatile True / Заставит нашу функцию пересчитываться при любом изменении значения в любой из ячеек на листе Dim i As Range / Определяет переменную i как диапазон ячеек Далее следует цикл: For Each i In диапазон / Для всех ячеек из выбранного диапазона If i.Font.ColorIndex = критерий.Font.ColorIndex Then / Если цвет текста ячейки совпадает с критерием КолЦветТст = КолЦветТст + 1 / то учитываем эту ячейку End If Next End Function Вы создали пользовательскую функцию КолЦветТст, которую можно найти в категории «Определенные пользователем» Окно мастера функции выглядит так же, как и для стандартной функции Excel Хочу обратить ваше внимание на две особенности функции КолЦветТст: При изменении цвета текста образца или одной из ячеек не происходит автоматический пересчет значения функции КолЦветТст. Для пересчета нажмите F9. Функция не работает, если ячейки раскрашены с помощью условного форматирования Пока не научился это делать…