Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчёт ячеек по цвету, и сумма их колличества - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подсчёт ячеек по цвету, и сумма их колличества (Макросы/Sub)
Подсчёт ячеек по цвету, и сумма их колличества
ivz4sure Дата: Среда, 12.03.2014, 15:34 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
[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]

Ребят, не получается доработать функцию, пример в файле...
К сообщению приложен файл: 3129613.xlsx(10.7 Kb)


Сообщение отредактировал ivz4sure - Среда, 12.03.2014, 15:59
 
Ответить
Сообщение[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
Дата добавления - 12.03.2014 в 15:34
nilem Дата: Среда, 12.03.2014, 16:50 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1600
Репутация: 554 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте так
[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
[/vba]
формула, например, в Р3 будет такая
Код
=СчетЕслиЦвет($E$2:$L$2;P2;N3)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте так
[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
[/vba]
формула, например, в Р3 будет такая
Код
=СчетЕслиЦвет($E$2:$L$2;P2;N3)

Автор - nilem
Дата добавления - 12.03.2014 в 16:50
ivz4sure Дата: Четверг, 13.03.2014, 12:07 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
nilem, формула работает, только если например в строке цвет коричневый 1, и добавляешь ещё 1 коричневый, автоматом не считает, приходится всё делать вручную, можно это как-то автоматизировать? Хотя Формулы->Параметры вычислений->Автоматически


Сообщение отредактировал ivz4sure - Четверг, 13.03.2014, 12:20
 
Ответить
Сообщениеnilem, формула работает, только если например в строке цвет коричневый 1, и добавляешь ещё 1 коричневый, автоматом не считает, приходится всё делать вручную, можно это как-то автоматизировать? Хотя Формулы->Параметры вычислений->Автоматически

Автор - ivz4sure
Дата добавления - 13.03.2014 в 12:07
nilem Дата: Четверг, 13.03.2014, 14:10 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1600
Репутация: 554 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте формулу изменить:
Код
=СчетЕслиЦвет($E$2:$L$2;P2;N3)+СЕГОДНЯ()*0

теперь будет пересчитываться при любом изменении (изменении значений ячеек) на листе


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениепопробуйте формулу изменить:
Код
=СчетЕслиЦвет($E$2:$L$2;P2;N3)+СЕГОДНЯ()*0

теперь будет пересчитываться при любом изменении (изменении значений ячеек) на листе

Автор - nilem
Дата добавления - 13.03.2014 в 14:10
ivz4sure Дата: Четверг, 13.03.2014, 14:29 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
nilem, мы наверное не поняли друг друга, с Вашей формулой хоть с первой, хоть со второй, работает как и работало, только при изменении значений! А возможно как-то сделать так, что и при изменении цвета ячейки (пример: диапазон A1:С3, в нем две ячейки коричневые, одна оранжевая, я меняю цвет одной оранжевой на коричневый, и хочется, чтобы сразу всё считалось, правда если это возможно) а с этими формулами считается только тогда, когда я вставлю ячейку или поменяю фамилии (что-то сделаю внутри её) но на заливку нету реакции(
 
Ответить
Сообщениеnilem, мы наверное не поняли друг друга, с Вашей формулой хоть с первой, хоть со второй, работает как и работало, только при изменении значений! А возможно как-то сделать так, что и при изменении цвета ячейки (пример: диапазон A1:С3, в нем две ячейки коричневые, одна оранжевая, я меняю цвет одной оранжевой на коричневый, и хочется, чтобы сразу всё считалось, правда если это возможно) а с этими формулами считается только тогда, когда я вставлю ячейку или поменяю фамилии (что-то сделаю внутри её) но на заливку нету реакции(

Автор - ivz4sure
Дата добавления - 13.03.2014 в 14:29
ivz4sure Дата: Четверг, 13.03.2014, 14:33 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Хотя, если пользоваться кнопкой "Пересчёт" всё работает)
 
Ответить
СообщениеХотя, если пользоваться кнопкой "Пересчёт" всё работает)

Автор - ivz4sure
Дата добавления - 13.03.2014 в 14:33
RAN Дата: Четверг, 13.03.2014, 14:37 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5517
Репутация: 1107 ±
Замечаний: 0% ±

2010
при изменении цвета ячейки


Нельзя никак. Совсем никак.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
при изменении цвета ячейки


Нельзя никак. Совсем никак.

Автор - RAN
Дата добавления - 13.03.2014 в 14:37
ivz4sure Дата: Четверг, 13.03.2014, 14:39 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 22
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Ребят, да и так пойдёт, лишний раз кнопочку можно нажать), всем большое спасибо за помощь, это очень хорошо, когда форум жив!!!
 
Ответить
СообщениеРебят, да и так пойдёт, лишний раз кнопочку можно нажать), всем большое спасибо за помощь, это очень хорошо, когда форум жив!!!

Автор - ivz4sure
Дата добавления - 13.03.2014 в 14:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подсчёт ячеек по цвету, и сумма их колличества (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования Jobsora jooble
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!