Function СчетЕслиЦвет(Oblast As Range, Obrazec As Range) As Variant Dim Summa1 As Variant, c As Range, ObrazecCvet As Long ObrazecCvet = Obrazec.Interior.Color For Each c In Oblast.Cells If c.Interior.Color = ObrazecCvet Then Summa1 = Summa1 + 1 End If Next СчетЕслиЦвет = Summa1 End Function
[/vba]
Ребят, не получается доработать функцию, пример в файле...
[vba]
Код
Function СчетЕслиЦвет(Oblast As Range, Obrazec As Range) As Variant Dim Summa1 As Variant, c As Range, ObrazecCvet As Long ObrazecCvet = Obrazec.Interior.Color For Each c In Oblast.Cells If c.Interior.Color = ObrazecCvet Then Summa1 = Summa1 + 1 End If Next СчетЕслиЦвет = Summa1 End Function
[/vba]
Ребят, не получается доработать функцию, пример в файле...ivz4sure
Function СчетЕслиЦвет(Oblast As Range, Obrazec As Range, FIO As String) As Long Dim Summa1 As Long, c As Range, ObrazecCvet As Long ObrazecCvet = Obrazec.Interior.Color For Each c In Oblast.Cells If c.Interior.Color = ObrazecCvet Then If c.Value = FIO Then Summa1 = Summa1 + 1 End If End If Next СчетЕслиЦвет = Summa1 End Function
[/vba] формула, например, в Р3 будет такая
Код
=СчетЕслиЦвет($E$2:$L$2;P2;N3)
попробуйте так [vba]
Код
Function СчетЕслиЦвет(Oblast As Range, Obrazec As Range, FIO As String) As Long Dim Summa1 As Long, c As Range, ObrazecCvet As Long ObrazecCvet = Obrazec.Interior.Color For Each c In Oblast.Cells If c.Interior.Color = ObrazecCvet Then If c.Value = FIO Then Summa1 = Summa1 + 1 End If End If Next СчетЕслиЦвет = Summa1 End Function
nilem, формула работает, только если например в строке цвет коричневый 1, и добавляешь ещё 1 коричневый, автоматом не считает, приходится всё делать вручную, можно это как-то автоматизировать? Хотя Формулы->Параметры вычислений->Автоматически
nilem, формула работает, только если например в строке цвет коричневый 1, и добавляешь ещё 1 коричневый, автоматом не считает, приходится всё делать вручную, можно это как-то автоматизировать? Хотя Формулы->Параметры вычислений->Автоматическиivz4sure
Сообщение отредактировал ivz4sure - Четверг, 13.03.2014, 12:20
nilem, мы наверное не поняли друг друга, с Вашей формулой хоть с первой, хоть со второй, работает как и работало, только при изменении значений! А возможно как-то сделать так, что и при изменении цвета ячейки (пример: диапазон A1:С3, в нем две ячейки коричневые, одна оранжевая, я меняю цвет одной оранжевой на коричневый, и хочется, чтобы сразу всё считалось, правда если это возможно) а с этими формулами считается только тогда, когда я вставлю ячейку или поменяю фамилии (что-то сделаю внутри её) но на заливку нету реакции(
nilem, мы наверное не поняли друг друга, с Вашей формулой хоть с первой, хоть со второй, работает как и работало, только при изменении значений! А возможно как-то сделать так, что и при изменении цвета ячейки (пример: диапазон A1:С3, в нем две ячейки коричневые, одна оранжевая, я меняю цвет одной оранжевой на коричневый, и хочется, чтобы сразу всё считалось, правда если это возможно) а с этими формулами считается только тогда, когда я вставлю ячейку или поменяю фамилии (что-то сделаю внутри её) но на заливку нету реакции(ivz4sure