Страницы: 1
RSS
Суммирование/счёт по цвету заливки ячейки, цвету щрифта, формату ячейки
 
Всем привет.
Пытался доработать формулу SumByInteriorColor (автор The_Prist).
Смысл доработки следующий - добавить суммирование еще по одному условию. Результат попытки во вложении.
Может у кого-то будут какие-то рационализаторские предложения?
 
Вместо вот этого:
Скрытый текст
можно написать так:

Код
Dim hasMatch As Boolean
'....
hasMatch = False
Select Case sStrMatch
    Case "=": If Диапазон_критерия(i, 1) = q Then hasMatch = True
    Case "<>": If Диапазон_критерия(i, 1) <> q Then hasMatch = True
    Case ">=", "=>": If Диапазон_критерия(i, 1) >= q Then hasMatch = True
    Case "<=", "=<": If Диапазон_критерия(i, 1) <= q Then hasMatch = True
    Case ">": If Диапазон_критерия(i, 1) > q Then hasMatch = True
    Case "<": If Диапазон_критерия(i, 1) < q Then hasMatch = True
End Select

If hasMatch Then
    If rCell.EntireRow.Hidden Or rCell.EntireColumn.Hidden Then
        If Учитывать_скрытые Then dblSum = dblSum + 1
     Else
        dblSum = dblSum + 1
    End If
End If
Изменено: Johny - 29.11.2014 00:07:45
There is no knowledge that is not power
 
Johny, спасибо, попробую поправить
 
интереснее было бы написать аналог СУММЕСЛИМН и СЧЁТЕСЛИМН с учетом цвета фона/шрифта
как в оригинале - с разным количеством пар диапазон-условие.
но такие универсальные функции, написанные на VBA, будут очень медленными.
а до VSTO и XLL я ещё не дорос :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: а до VSTO и XLL я ещё не дорос
Вообще-то VSTO будет ещё медленнее. А вот XLL - вот тут есть где развернуться.  :)
There is no knowledge that is not power
 
а на чём ещё писать XLL?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: а на чём ещё писать XLL?
С++
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
гм... я почему-то думал, что Visual C++ входит в VSTO...  :oops:
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
не претендуя на истину - подумаю вслух: написать на VB, а потом конвертировать в С++ (конвертеры по линкам из ответа#5 - хм, хотя там с#? - может они (++) (#)  похожи)... мне осталось разобраться в каких случаях xll лучше вба, кроме случая уже указанного (создание функции суммеслимн, счётеслимн)...

P.S. хотя да, ZVI ведьуже ответил... что надстройки можно писать...
Изменено: JeyCi - 30.11.2014 09:07:27
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Страницы: 1
Наверх