Во вложении файл. В нем через макрос записана Функция, которая суммирует ячейки из заданного диапазона по цвету SumByColor (Диапазон суммирования;Цвет). Подскажите, пожалуйста, формулу для красной ячейки Е4, чтобы она по желтому цвету (ячейка D5) сосчитала количество ячеек с любым текстом в столбце HZ с привязкой к желтому цвету в ячейке D. Уточнение: в функции заложено смещение по столбцам и строкам, прошу его не менять. Заранее спасибо за Ваши ответы
Евгений И. написал: Уточнение: в функции заложено смещение по столбцам и строкам, прошу его не менять.
Вот это зря. Лучше введите еще один аргумент
Код
Public Function CountByColor(DataRange As Range, ColorSample As Range, TextRange As Range) As Double
Dim iCount As Double
Application.Volatile True
For Each cell In DataRange
If cell.Interior.Color = ColorSample.Interior.Color Then
If Application.IsText(Cells(cell.Row, TextRange.Column)) = True Then
iCount = iCount + 1
End If
End If
Next cell
CountByColor = iCount
End Function
Большое спасибо за решение, у меня просто в большом отчете уже используется функция с учетом смещения и там уже очень много макросов, что отчет, наверное, скоро лопнет))) Поэтому не хотелось бы плодить еще и несколько видов функций)) Но вариант все равно хороший, спасибо еще раз!)))
Я так понимаю под смещением вы имеете ввиду эту строку?
Sum = Sum + cell(1, 3).Value
Как по Вашему на какую ячейку будет смещение? Какой у нее будет адрес? Думаете на HZ7 относительно D7? Если Вы скрыли столбцы, то это не значит, что они исчезли
Согласие есть продукт при полном непротивлении сторон