Нужна была функция счета ячеек в диапазоне если она определенного цвета и в ней есть определенный текст.
Имеется табель. И есть норма часов. Когда работник в отпуске или на больничном норма часов для него меняется. я привел пример как ведётся подсчет нормы труда. и нужна формула которая это всё учитывала. А для этого нужно просто что бы он проверял есть ли в выбранном диапазоне буква "О" или "Б" и является ли эта ячейка где нашлась эта буква определенного цвета. Я уже искал на форумах функцию подсчета количества ячеек определенного цвета но я не могу туда внедрить условие если в этой ячейки буква "Б" или "О" то тогда считать как 1. Он просто почитывает все ячейки выбранного цвета. на другом форуме помогли дополнить формулу. и выглядит она сейчас так.
на форуме подсказали что бы написал и что для 2010 и выше офиса
я поставил и пишет просто #знач!
Вот и что не так то?
Имеется табель. И есть норма часов. Когда работник в отпуске или на больничном норма часов для него меняется. я привел пример как ведётся подсчет нормы труда. и нужна формула которая это всё учитывала. А для этого нужно просто что бы он проверял есть ли в выбранном диапазоне буква "О" или "Б" и является ли эта ячейка где нашлась эта буква определенного цвета. Я уже искал на форумах функцию подсчета количества ячеек определенного цвета но я не могу туда внедрить условие если в этой ячейки буква "Б" или "О" то тогда считать как 1. Он просто почитывает все ячейки выбранного цвета. на другом форуме помогли дополнить формулу. и выглядит она сейчас так.
Код |
---|
Public Function СЧЁТцветИтекст(ДИАПАЗОН As Range, ЯЧЕЙКА) As Long Dim S As Double Dim rCell As Range Dim ColCell As Long Application.Volatile True ColCell = ЯЧЕЙКА.Interior.Color S = 0 For Each rCell In ДИАПАЗОН If rCell.Interior.Color = ColCell And (rCell.Value = "Б" Or rCell.Value = "О") Then S = S + 1 End If Next СЧЁТцветИтекст = S End Function |
на форуме подсказали что бы написал и что для 2010 и выше офиса
Код |
---|
If rCell.DisplayFormat.Interior.Color = ColCell and (rCell.Value="Б" or rCell.Value="О") Then |
я поставил и пишет просто #знач!
Вот и что не так то?