Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Диана Нурушева от 28.02.2017, 21:34

Название: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 28.02.2017, 21:34
здравствуйте! просьба помочь.
функция Public Function SumByColor
можно ли в эту функцию добавить еще одно условие: суммирование значений с заливкой по определенной фамилии.
пробовала добавить функции суммесли и суммеслимн. не получается.
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: kuklp1 от 28.02.2017, 23:02
SumByColor - пользовательская функция написанная на ВБА. И где она в Вашем файле? А формулам листа, тем самым суммесли и суммеслимн, до лампочки любые форматы ячеек, они работают только со значениями(чего и Вам желаю).
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 01.03.2017, 22:12
сюда можно вложить файл с расширением.xls-его и вложила.
а функция Public Function SumByColor у меня в файле с расширением .xlsm
Public Function SUMBYCELLCOLOR(ByVal rgeSearchCells As Range, _
                              ByVal rgeCriteriaCell As Range) As Double
Dim rgeCell As Range
For Each rgeCell In rgeSearchCells
   If rgeCell.Interior.Color = rgeCriteriaCell.Interior.Color Then
      SUMBYCELLCOLOR = SUMBYCELLCOLOR + rgeCell.Value
   End If
Next rgeCell
End Function

то есть, в диапазон просматриваемых ячеек =SumByColor([color=#ff0000]C2:C16[/color];$H$1) бесполезно пытаться впихнуть функцию суммесли?
тогда, как можно диапазон просматриваемых ячеек ограничить только одной фамилией (разумеется формулой, не руками диапазон выбирать по каждой фамилии)?
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: kuklp1 от 01.03.2017, 23:33
Сюда вполне можно запакованные в зип, рар файлы xlsm, или просто xls выкладывать.
Public Function SUMBYCELLCOLOR(ByVal rgeSearchCells As Range, _
                               ByVal rgeCriteriaCell As Range, fam$) As Double
    Dim rgeCell As Range
    For Each rgeCell In rgeSearchCells
        If rgeCell.Interior.Color = rgeCriteriaCell.Interior.Color And rgeCell.Offset(, -1).Value = fam Then
            SUMBYCELLCOLOR = SUMBYCELLCOLOR + rgeCell.Value
        End If
    Next rgeCell
End Function
где fam - нужная фамилия.
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 03.03.2017, 22:14
спасибо огромное!
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 03.03.2017, 22:58
просьба. Вы не могли бы помочь еще?
есть два файла: "2 файл" и "3 файл". в каждом нужен только один лист.
во "2 файле" по строкам фамилии, по столбам- даты. в этом файле изначально расставлены оранжевые заливки.
в "3 файле" по строкам фамилии и даты под каждой, столб- время в цифровом формате, причем у людей не все даты могут быть рабочими (нерабочих в таблице нет).
нужно:
1. из 2 файла перенести оранжевые заливки в 3 файл по датам и фамилиям
2. после того как я руками расставлю в 3 файле серые заливки (сама), перенести эти серые заливки во 2 файл по фамилиям и датам.
спасибо!
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: vikttur от 04.03.2017, 02:32
Вопрос не по теме. Один вопрос - одна тема.
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 29.04.2017, 21:48
в Вашем заархивированном файле формула работает, но когда пытаюсь саму формулу скопировать отсюда в новый файл- она не работает. уточните формулу, пожалуйста...
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: vikttur от 29.04.2017, 23:08
?
Здесь только один архив - Ваш. Вы к себе обращаетесь?
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 01.05.2017, 20:04
архив Ваш. в заархивированном файле функция работает.
копирую код функции, прописанный тут Вами в окошке в файл у меня на локальном диске- не работает(
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: kuklp1 от 02.05.2017, 20:32
Диана, придите в себя! В каком сообщении Виктора Вы видите архив?! Номер и время сообщения, пожалуйста.
P.S. и не надо писать мне в личку, все вопросы обсуждаются в форуме. Кроме случаев оплачиваемой работы. Или дружеских сплетен форумчан.  ;)
Название: Re: суммирование ячеек с заливкой в определяемой функцией диапазоне
Отправлено: Диана Нурушева от 08.05.2017, 14:26
формула, прописанная kuklp1 в сообщении от 01.03.17 не всегда работает. иногда все хорошо- выдает верный результат, а иногда в файлах- выдает сумму=0, хотя там есть ячейки, удовлетворяющие заданным условиям. просто хотела уточнить скорректированную под фамилию функцию. извините, не хотела никого задеть.
p.s. я в себе.