Добрый вечер! помогите решить проблему... Я нашел типовую функцию, которая считает кол-во ячеек, закрашенных определенным цветом из заданного диапазона
все работает, когда диапазон - ячейка или ОДНА группа ячеек, а как мне описать аргументы функции, если я должен сослаться на несколько групп ячеек?
=CountCellsByAnyColor(G6:H9) - вот так работает =CountCellsByAnyColor(F5;H5;H8;F9;F12;I14;H16;G20) - а вот так нет
Код
Public Function CountCellsByAnyColor(DataRange As Range) As Double
'считает кол-во ячеек с фоном не прозрачным
Dim Kol As Double
Application.Volatile True
Kol = 0
For Each cell In DataRange
If cell.Interior.Color <> 16777215 Then
Kol = Kol + 1
End If
Next cell
CountCellsByAnyColor = Kol
End Function
Public Function CountCellsByAnyColor(ParamArray DataRange()) As Double
'считает кол-во ячеек с фоном не прозрачным
Dim Kol As Double
Application.Volatile True
Kol = 0
For Each cell In DataRange
For Each c In cell.Cells
If c.Interior.Color <> 16777215 Then
Kol = Kol + 1
End If
Next
Next cell
CountCellsByAnyColor = Kol
End Function
вообще-то функцию можно и не переписывать. достаточно использовать при вызове еще одну парочку скобок. =CountCellsByAnyColor((F5;H5;H8;F9;F12;I14;H16;G20))
фрилансер Excel, VBA - контакты в профиле "Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг