Збир по боји - примери ВБА кода

Преглед садржаја

Следећа функција израчунава укупну вредност свих ћелија у одређеном опсегу које су одређене боје:

Нажалост, не постоји функција СУМИФ за сабирање на основу боје ћелије. Ако желите да сумирате по боји, мораћете да креирате функцију унутар ВБА.
Да бисте користили овај код: Отворите Висуал Басиц Едитор (Алт + Ф11), Уметните нови модул (Уметни> Модул) и копирајте и залепите жељени код у модул.

Функција збрајања по боји

1234567891011121314151617181920 Функција Цолор_Би_Нумберс (Цолор_Ранге Ас Ранге, Цолор_Индек Ас Интегер) Као Доубле'Дим Цолор_Би_Нумберс Ас ДоублеДим Целл„Погледаће ћелије које су у опсегу и ако'својство боје ентеријера се подудара са потребном бојом ћелије'онда ће се збројити'Лооп Тхроугх рангеЗа сваку ћелију у распону бојаАко (Целл.Интериор.ЦолорИндек = Цолор_Индек) ЗатимЦолор_Би_Нумберс = Цолор_Би_Нумберс + Целл.ВалуеКрај АкоСледећа ћелијаЗавршна функција

Ово је у ствари „збир по боји“ - па ако знате Екцел -ову палету од 56 боја и на пример знате да је боја 4 светло зелена, онда позовите следећи:

Боје_по_бројевима („А1: П20“, 4)

ће збрајати вредности за све ћелије у опсегу А1: П20 које су светло зелене боје.

Да бисте олакшали коришћење функције, следећа потпрограм ће израчунати укупну вредност за сваку од 56 екцел боја. Такође даје читаву палатину тако да је лако видети индексни број за сваку боју.

Потпрограм се позива на листу 1 и гледа распон

12345678910111213141516171819202122 Приватна под -командаБуттон1_Цлицк ()„Погледаће сваку боју и направити збирну табелу вредности'на листу 1 у ћелији А1 и надолеДим Цуррент_Цолор_Нумбер Ас ИнтегерДим Цолор_Тотал Ас ДоублеЗа број текуће_боје = 1 до 56Цолор_Тотал = Цолор_Би_Нумберс (Схеетс ("Схеет2"). Ранге ("а11: аа64"), Цуррент_Цолор_Нумбер)Радни листови ("Лист1"). Опсег ("А1"). Одступање (Број_боје_текуће_боје, 0) = Број_боје_текућеРадни листови ("Лист1"). Опсег ("А1"). Одступање (Тренутна_боја_броја, 0). Унутрашњост.Индекс боја = Тренутна_боја_бројаАко је Цолор_Тотал 0# ТадаРадни листови ("Лист1"). Опсег ("а1"). Одступање (Тренутна_боја_броја_боја, 1) .Вредност = Боја_укупноКрај АкоСледећи Број_боје_бојаЕнд Суб

Да бисте преузели КСЛС датотеку, кликните овде

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave