Подсчет числа клеток Excel закрашенных или с цветным шрифтом
Как подсчитать в таблице Excel, сколько клеток в строке или столбце закрашено или имеют цветной шрифт (красный, желтый, зеленый, ...)
можно так (для столбца A)
n = 0
For Each c In Range("a:a")
If c.Font.Color <> 0 Or c.Interior.ColorIndex <> -4142 Then n = n + 1
Next c
можно так (для столбца A)
n = 0
For Each c In Range("a:a")
If c.Font.Color <> 0 Or c.Interior.ColorIndex <> -4142 Then n = n + 1
Next c
Как будет выглядеть функция для подсчета не по столбцу, а напрмер по строке 3?
Какому цвету соответствует константа –4142. Где можно найти соответствие констант, как минимум тому набору цветов, которые можно выбрать из палитры в меню?
Как инициировать подпрограмму (для подсчета цветных клеток по столбцу или строке), например в той клетке, где хотелось бы иметь результат подсчета.
Через макрос записал рекомендуемый код, однако никак не могу присвоить этот Макрос – ячейке.
Где и как надо выбирать написанный программный код/процедуру для записи в клетку?
Как будет выглядеть функция для подсчета не по столбцу, а напрмер по строке 3?
Какому цвету соответствует константа –4142. Где можно найти соответствие констант, как минимум тому набору цветов, которые можно выбрать из палитры в меню?
Как инициировать подпрограмму (для подсчета цветных клеток по столбцу или строке), например в той клетке, где хотелось бы иметь результат подсчета.
Через макрос записал рекомендуемый код, однако никак не могу присвоить этот Макрос – ячейке.
Где и как надо выбирать написанный программный код/процедуру для записи в клетку?
Посылаю пример.
Функция пишется в модуль и вызывается как обычно, только из опреденные пользователем. Аргумент у нее типа Range и может быть строкой тоже.
Насчет цветов - я просто их менял в режиме записи макроса, а потом смотрел номера, соотв. цветам по умолчанию.
Посылаю пример.
Функция пишется в модуль и вызывается как обычно, только из опреденные пользователем. Аргумент у нее типа Range и может быть строкой тоже.
Насчет цветов - я просто их менял в режиме записи макроса, а потом смотрел номера, соотв. цветам по умолчанию.
У меня стоит немецкая Windows и соответственно Excel.
Все таки, можно описать (по-русски), как подключается функция определенная пользователем?
У меня стоит немецкая Windows и соответственно Excel.
Все таки, можно описать (по-русски), как подключается функция определенная пользователем?
У меня стоит немецкая Windows и соответственно Excel.
Все таки, можно описать (по-русски), как подключается функция определенная пользователем?
У меня стоит немецкая Windows и соответственно Excel.
Все таки, можно описать (по-русски), как подключается функция определенная пользователем?
функция определенная пользователем вставляется в модуль сл.образом (пардон, если слишком подробно).
1- выходим в VBA (Alt-F11)
2- в окне проектов правым кликом выбираем Insert-Module
3- в появившемся окне модуля набираем нашу ф-цию (в примере она там и стоит)
4- в электронной таблице в нужной ячейке вставляем =, в списке функций выбираем "Другие функции" - в них "Определенные пользователем" и там уже нашу
5- в качетве аргумента выбираешь нужный Range (строку, столбец, блок ...)
Вроде бы все.
PS. Если система на немецком и ты его не учил, то сочуствую!
Попробуй найти по переводу
другие - ander
определенная - bestimmt
пользователь - Benutzer
Только одна проблема, если я цвет фона в клетке меняю, например,на белый – счетчик числа закрашенных клеток не изменяется.
А как делается следующее: без вставки функции в конкретную клетку, а только программный просмотр указанной области и вставка в колонке или в строке результата подсчета числа закрашенных клеток, в те клетки в столбце или в строках, которые указаны, например первые свободные: внизу - для столбцов или справа – для строк?
Спасибо, все получилось.
Только одна проблема, если я цвет фона в клетке меняю, например,на белый – счетчик числа закрашенных клеток не изменяется.
А как делается следующее: без вставки функции в конкретную клетку, а только программный просмотр указанной области и вставка в колонке или в строке результата подсчета числа закрашенных клеток, в те клетки в столбце или в строках, которые указаны, например первые свободные: внизу - для столбцов или справа – для строк?
Странно, почему так получается?
Клетка закрашена наример желтым цветом. Выделяю клетку, через меню меню цвет фона/клетки с желтого на белый – функция «не видит» белый цвет, и считает, что цвет не изменился.
Но стоит выделить какую-либо клетку с цветом фона –белый, нажать на кнопку в меню «Формат по образцу . Кисть» и навести на клетку с желтым цветом, то цвет как и следовало ожидать меняется с желтого на белый, НО при этом и функция также срабатывает и дает число закрашеных клеток на единицу меньше.
Т.е. именно только в случае примениея «Формат по образцу – Кисть» фактически полностью меняется цвет клетки (как при визуальном ее отображении, так и в каких-то внутренних, не видимых на глаз, свойствах клетки)