Добрый день. Стоит такая задача. Есть график производственного времени (приложен). В нем есть области распределенные по времени (например "производство"). Нужно узнать сколько времени занимает производство в неделю - для этого нужно посчитать сколько ячеек занимает на графике слово "производство". Момент в том, что почти все ячейки объединены, и нужно знать сколько ячеек занимает слово, если бы ячейки были бы по отдельности.
Добрый день. Стоит такая задача. Есть график производственного времени (приложен). В нем есть области распределенные по времени (например "производство"). Нужно узнать сколько времени занимает производство в неделю - для этого нужно посчитать сколько ячеек занимает на графике слово "производство". Момент в том, что почти все ячейки объединены, и нужно знать сколько ячеек занимает слово, если бы ячейки были бы по отдельности.drugojandrew
Function calkMergIf(range_ As Range, Optional kriteria$) Dim r As Range, i& For Each r In range_ If r.MergeArea.Cells(1, 1).Value = kriteria$ Then i = i + 1 Next calkMergIf = i End Function
Function summMergIf(range_ As Range, rangeSumm_ As Range, Optional kriteria$) Dim r As Range, i#, n& For Each r In range_ n = n + 1 If r.MergeArea.Cells(1, 1).Value = kriteria$ Then _ i = i + rangeSumm_.Cells(1, n) - rangeSumm_.Cells(2, n) Next summMergIf = i End Function
[/vba]
Можно ЮДФкой: [vba]
Код
Function calkMergIf(range_ As Range, Optional kriteria$) Dim r As Range, i& For Each r In range_ If r.MergeArea.Cells(1, 1).Value = kriteria$ Then i = i + 1 Next calkMergIf = i End Function
Function summMergIf(range_ As Range, rangeSumm_ As Range, Optional kriteria$) Dim r As Range, i#, n& For Each r In range_ n = n + 1 If r.MergeArea.Cells(1, 1).Value = kriteria$ Then _ i = i + rangeSumm_.Cells(1, n) - rangeSumm_.Cells(2, n) Next summMergIf = i End Function