На сайте и в интернете есть что-то подобное, но при большом диапазоне код работает очень медлено (по-этому и обращаюсь к ВАМ). У меня будет диапазон из 150000 таких ячеек. Суть: диапазон будет залит в 9 цветов (иногда в 3-4 цвета). Нужно максимально быстро, подсчитать сумму ячеек каждого цвета отдельно. Спасибо ВСЕМ за помощь!
В вашем примере цвета уже указаны в первом столбце. Если следовать такому же принципу - то как вариант решение макросом. Единственное всегда будет считать 9 цветов ))
vanya7819 написал: У меня будет диапазон из 150000 таких ячеек.
и кто и как будет это раскрашивать? Вопрос не по тому что любопытно, а по тому что от этого зависит реализация. Может и не нужно к цветам привязываться.
Добрый день. Поблагодарить хочу за такой прекрасный сайт и массу полезной информации. Помогите пожалуйста. Я ввел код (считает сумму ячеек с выделенным цветом) 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.Interior.Color = ColorSample.Interior.Color Then Sum = Sum + cell.Value End If Next cell SumByColor = Sum End Function И создал второй модуль с кодом где изменил (считает кол-во ячеек с выделенным цветом) Sum = Sum + 1 Все считает отлично, но...возникли трудности со 2 модулем, когда ячейка с нулевым значением и ее не нужно брать, подскажите что нужно изменить. Спасибо Извините, изначально не в ту тему написал.
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
Согласие есть продукт при полном непротивлении сторон