Страницы: 1
RSS
Подсчет и суммирование закрашенных ячеек
 
Условное форматирование окрашивает ячейку в серый цвет, если она не пустая.
В зеленый цвет окрашивают некоторые ячейки вручную!
С помощью макроса http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=2&TID=45331 функцией Count_CellColor($2:$2;$A$4) считаю количество ячеек, выделенных зеленым.
Но, если в строке есть, кроме цифр, ячейки с буквами, функция не работает.
Можно ли этот критерий учесть?
 
Viper25, попробуйте данный макрос
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, к сожалению, не работает.
 
Там надо менять все, что относится к преобразованию типов CDbl. Именно на нем дает ошибку. Все поправил.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, спасибо.
Работает.
 
Добрый день! Помогите пожалуйста! У меня в таблице есть уже 2 макроса (считает сумму ячеек выделенных цветом и считает кол-во ячеек выделенных цветом). И мне теперь нужно еще один макрос (считать кол-во ячеек) по другому столбцу с другим цветом....И я не могу вспомнить как делал макрос чтоб он работал!!!! Помогите!!! Инструкции читаю не могу понять...создал уже кучу модулей, не знаю как их удалить...  
 
Цитата
Serginio написал:
И я не могу вспомнить как делал макрос чтоб он работал
ну если этого не можете вспомнить Вы - как это вспомним мы, когда мы даже макроса Вашего не видели? И файла, где это не работает у нас тоже нет.
Изменено: Дмитрий(The_Prist) Щербаков - 07.11.2019 11:53:58
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо,спасибо!!! Я не про макрос (тело его есть) спрашивал ,а сам процесс его создания,  чтоб считал) Он одинаковый как был только на другой диапазон. Покопался вспомнил. Спасибо ребят.  
 
Ну все таки есть один вопрос....вот макрос
Код
Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double
Dim Sum As Double
Application.Volatile True
For Each cell In DataRange
    If cell <> 0 And cell.Interior.Color = ColorSample.Interior.Color Then
        Sum = Sum + 1
    End If
Next cell
SumByColor = Sum
End Function

Но он получается работает, если в ячейке выделенной цветом есть какое-то значение, данные, буква, число. А что надо изменить, чтоб просто считало, когда ячейка просто закрашена.  
Изменено: Serginio - 07.11.2019 14:59:31
 
Serginio, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
 
Код
Public Function SumByColor(DataRange As Range, ColorSample As Range) As Double
Dim Sum As Double
Application.Volatile True
For Each cell In DataRange
   If cell <> 0 And cell.Interior.Color = ColorSample.Interior.Color Then
       Sum = Sum + 1
   End If
Next cell
SumByColor = Sum
End Function

Спасибо, извините. Вот так?
 
Цитата
Serginio написал:
чтоб просто считало, когда ячейка просто закрашена.
вот это
Код
If cell <> 0 And cell.Interior.Color = ColorSample.Interior.Color Then
        Sum = Sum + 1
    End If
заменить на это
Код
If cell.Interior.Color = ColorSample.Interior.Color Then
        Sum = Sum + 1
    End If
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
If cell.Interior.Color = ColorSample.Interior.Color Then        Sum = Sum + 1    End If
Спасибо огромное! Работает!
Страницы: 1
Наверх