Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2009, 14:51   #1
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию Суммирования ячеек по одному цвету

Здравствуйте ВСЕМ!
Возможно ли написать в вба формулу =СУММ(х), где вместо х диапазон ячеек одного цвета?
то есть имеем например 5 ячеек, которые расположены друг под другом, одна ячейка(самая верхняя) обычная белая и туда мы должны через вба вводить формулу СУММ, которая суммирует значение 4ёх других ячеек, которые закрашены,например,жёлтым цветом...
Артур Иваныч вне форума Ответить с цитированием
Старый 25.11.2009, 14:53   #2
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

то есть нужно опираться именно на цвет...
Артур Иваныч вне форума Ответить с цитированием
Старый 25.11.2009, 15:07   #3
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Вариант кода суммирующего ячейки желтого цвета:
Sub SumYellowCells()
Sum = 0
For i = 1 To 100
If Cells(i, 1).Interior.Color = 65535 Then '65535 код желтого цвета
Sum = Sum + Cells(i, 1).Value
End If
Next i
End Sub

Обязательно использовать именно СУММ(х)?
Не бывает сложных задач, бывают сложные решения

Последний раз редактировалось Xpoft; 25.11.2009 в 15:11.
Xpoft вне форума Ответить с цитированием
Старый 25.11.2009, 15:18   #4
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

хм...
хорошо бы
если в ячейку вводилась =СУММ
Артур Иваныч вне форума Ответить с цитированием
Старый 25.11.2009, 15:33   #5
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

создайте например А2, А3, А4 в жёлтый цвет и введите туда цифирки
а через вба в А1 формулу =СУММ()
только чтобы НЕ так было =СУММ(А2:А4), а по-другому, чтобы именно считывал значение с жёлтых ячеек!
Артур Иваныч вне форума Ответить с цитированием
Старый 25.11.2009, 16:02   #6
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

А ячейки желтым красятся как? В ручную или по условному форматированию?
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 25.11.2009, 16:14   #7
Артур Иваныч
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 138
По умолчанию

вручную
просто этих жёлтых ячеек может быть не 4 штуки
а хоть 100
Артур Иваныч вне форума Ответить с цитированием
Старый 25.11.2009, 16:22   #8
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

Так вам результат суммирования нужен или сама формула?
Зачем необходимо наличие формулы СУММ()?
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 25.11.2009, 16:23   #9
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Артур Иваныч.
функция созданная на базе кода предложенного Xpoft будет выполнять Ваше желание - "в ячейку вводилась =СУММ", если запустить её с параметрами, как указано в образце:
Код:
Function sumColorCells(iRh%, iRe&, iCol%, Optional iColor&) As String
Dim i%, s$
    For i = iRh To iRe
        If Cells(i, iCol).Interior.Color = iColor Then
            s = s + ",R" & i & "C" & iCol
        End If
    Next i
    If Len(s) > 0 Then sumColorCells = "=SUM(" + Mid(s, 2) + ")"
End Function
Sub sumColor() 'процедура запуска функции
    [E18].FormulaR1C1 = sumColorCells(2, 4, 1, 65535)
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтр по цвету Flangini Microsoft Office Excel 17 02.06.2011 17:36
Циклы суммирования? radium Microsoft Office Excel 7 23.04.2009 10:57
Цикл для суммирования ruavia3 Microsoft Office Excel 10 22.04.2009 09:24
макрос для суммирования jisu Microsoft Office Excel 5 30.03.2009 23:21