Преузмите пример радне свеске
Овај водич ће вам показати како пребројати или збројити ћелије одређене боје позадине помоћу ВБА.
Размотрите следећи опсег у програму Екцел.
Не постоји уграђена Екцел функција за бројање обојених ћелија. Уместо тога, морамо да креирамо Кориснички дефинисану функцију користећи ВБА.
Бројање ћелија - Креирајте ВБА прилагођену функцију
Бројање ћелија одређене боје помоћу ВБА ствар је стварања кориснички дефинисане функције (УДФ) која ће пролазити кроз све ћелије у опсегу и утврдити да ли се боја позадине сваке ћелије подудара са бојом позадине коју тестирају, а затим користе ту функцију на радном листу Екцел.
У ВБА стварамо функцију за бројање изабраних ћелија.
12345678910111213141516 | Функција ЦоунтЦеллсБиЦолор (рнг као опсег, ЦолорЦелл као опсег) као двострукаДим дблЦоунт Ас ДоублеДим рнгЦелл Ас Ранге'Петља кроз сваку ћелију у распонуЗа сваку рнгЦелл У рнг'проверите да ли је боја ентеријера исте боје као ћелија коју сте изабралиАко је рнгЦелл.Интериор.Цолор = ЦолорЦелл.Интериор.Цолор ЗатимАко је ИсНумериц (рнгЦелл.Валуе) = Тачно'повећајте број за 1 ако је боја исправна.дблЦоунт = дблЦоунт + 1Крај АкоКрај АкоСледећи'Вратите вредност у ЕкцелЦоунтЦеллсБиЦолор = дблЦоунтЗавршна функција |
Затим користите ову функцију на радном листу да бисте вратили вредност.
1 | = ЦоунтЦеллсБиЦолор (Б2: Е10, Г4) |
- Кликните на наранџасту ћелију у Г4 и кликните на Уметни функцију.
- Изаберите Кориснички дефинисано као категорију, а затим изаберите ЦоунтЦеллсБиЦолор као функцију коју треба користити.
- Кликните У реду.
- Означите опсег који садржи све обојене ћелије.
- Изаберите ЦолорЦелл, а затим кликните У реду.
Поновите поступак за бројање ћелија са зеленом бојом позадине.
1 | = ЦоунтЦеллсБиЦолор (Б2: Е10, Г5) |
Зброј ћелија - Креирајте прилагођену ВБА функцију
Ми стварамо сличну прилагођену функцију у ВБА како бисмо сумирали вредности ћелија одређене боје.
12345678910111213141516 | Функција СумЦеллсБиЦолор (рнг као опсег, ЦолорЦелл као опсег) као двострукаДим дблСум Ас ДоублеДим рнгЦелл Ас Ранге'Петља кроз сваку ћелију у распонуЗа сваку рнгЦелл У рнг'проверите да ли је боја ентеријера исте боје као ћелија коју сте изабралиАко је рнгЦелл.Интериор.Цолор = ЦолорЦелл.Интериор.Цолор ЗатимАко је ИсНумериц (рнгЦелл.Валуе) = Тачно'додајте вредност променљивој ако је боја исправнадблСум = дблСум + рнгЦелл.ВалуеКрај АкоКрај АкоСледећи'Вратите вредност у ЕкцелСумЦеллсБиЦолор = дблСумЗавршна функција |
Затим бисмо још једном користили ову функцију на радном листу да сумирамо потребне ћелије.
1 | = СумЦеллсБиЦолор (Б2: Е10, Г7) |