Ако желите да направите контролну таблу са графиконом који мења податке према изабраним опцијама, можете користити догађаје у ВБА. Да, то се може учинити. Неће нам требати падајући мени, секач или комбиновани оквир. Направићемо ћелије за клик и променићемо податке како бисмо од изабране ћелије направили графикон.
Пратите доле наведене кораке да бисте направили динамичке графиконе у Екцелу који се мењају према избору ћелије.
Корак 1: Припремите податке у листу као извор за графикон.
Овде имам неке узорке података из различитих региона у листу. Назвао сам га изворни подаци.
Корак 2: Добијте податке о једној регији одједном на другом листу.
- Сада уметните нови лист. Именујте га на одговарајући начин. Назвао сам га "Дасхбоард".
- Копирајте све месеце у једну колону. Напишите назив једне регије уз месец.
- Сада желимо да извучемо податке о региону у ћелију Д1. Желимо да се подаци мењају како се регион мења у Д1. За то можемо користити двосмерно тражење.
Пошто су моји изворни подаци у А2: Д8 на листу са подацима о извору. Користим формулу испод.
=ВЛООКУП(Ц2, „Изворни подаци“! $ А $ 2: $ Д $ 8,УТАКМИЦА($ Д $ 1, 'Изворни подаци'! $ А $ 1: $ Д $ 1,0)) |
Овде користимо динамичко индексирање колона за ВЛООКУП. Можете прочитати о томе овде.
- Уметните графикон користећи ове податке на листу контролне табле. Користим једноставан линијски графикон. Сакријте извор графикона ако их не желите приказати.
Сада када промените назив региона у Д1, графикон ће се према томе променити. Следећи корак је промена назива региона у Д1 док бирате опцију из наведене ћелије.
Корак 3: Промените регион док бирате назив региона у наведеном опсегу.
- Напишите сва имена региона у опсегу, ја их пишем у опсегу А2: А4.
- Кликните десним тастером миша на назив листа контролне табле и кликните на опцију „Прикажи код“ да бисте директно ушли у модул радног листа у ВБЕ-у како бисмо могли да користимо догађај радног листа.
- Сада напишите доњи код у ВБ Едитор.
Приватни под -радни лист_СелецтионЦханге (БиВал Таргет Ас Ранге) Ако се не пресеца (Таргет, Ранге ("А2: А4")) Није ништа Онда Ранге ("А2: А4"). Интериор.ЦолорИндек = клЦолорИндекНоне Дим регион Као Вариант регион = Таргет.валуе Укључена грешка Иди на грешку. Иди на грешку: Изаберите регион случаја Цасе Ис = "Централни" опсег ("Д1"). Валуе = регион Цасе Ис = "Еаст" Ранге ("Д1"). Валуе = регион Цасе Ис = "Западни" распон ("Д1 ") .валуе = регион Случај Елсе МсгБок" Инвалид Оптион "Енд Одаберите Таргет.Интериор.ЦолорИндек = 8 Енд Иф ерр: Енд Суб
И то је учињено. Сада, кад год одаберете ћелију у опсегу А2: А4, њена вредност ће бити додељена Д1 и подаци графикона ће се према томе мењати.
У наставку сам објаснио како овај код функционише. Можете то разумети и унети промене према вашим захтевима. Навео сам везе за помоћ темама које сам користио овде у овом примеру. Зато их проверите.
Како код функционише?
Овде сам користио догађај програма Екцел. Користио сам догађај радног листа „СелецтионЦханге“ за покретање догађаја.
Ако се не пресеца (циљ, домет ("А2: А4")) онда није ништа
Ова линија поставља фокус на опсег А2: А4 тако да се догађај СелецтионЦханге покреће само када је избор у опсегу А2: А4. Код између Иф и Енд ће се покренути само ако је избор у опсегу А2: А4. Сада га можете поставити према вашим захтевима како бисте графикон учинили динамичним.
Опсег ("А2: А4"). Ентеријер.ЦолорИндек = клЦолорИндекНоне
Ова линија поставља боју распона А2: А4 на ништа.
регион = Таргет.валуе Укључена грешка Иди на грешку:
У горња два реда добијамо вредност изабраних ћелија у променљивом региону и занемарујемо сваку грешку која се догоди. немојте користити ред "Он Еррор ГоТо ерр:" све док не будете сигурни да желите да игноришете сваку грешку која се појави. Користио сам га да избегнем грешку при одабиру више ћелија.
Изаберите регион региона Цасе Ис = "Централни" опсег ("Д1"). Валуе = регион Цасе Ис = "Источни" опсег ("Д1"). Валуе = регион Цасе Ис = "Западни" распон ("Д1"). Валуе = регион Случај Остало МсгБок "Инвалид Оптион" Енд Селецт
У горњим редовима користимо екцелс Селецт Цасе Статемент за постављање вредности опсега Д1.
Таргет.Интериор.ЦолорИндек = 8 Енд Иф грешка: Енд Суб
Пре наредбе Крај ако мењамо боју изабране опције тако да буде истакнута. Затим наредба Иф завршава и ерр: таг почиње. Наредба Он Еррор ће прећи на ову ознаку ако дође до грешке током наредбе селецт.
Преузмите радну датотеку испод.
Догађаји са уграђеним графиконом помоћу ВБА у Мицрософт Екцелу| Догађаји са уграђеним графиконима могу учинити ваш графикон интерактивнијим, динамичнијим и кориснијим од уобичајених графикона. Да бисмо омогућили догађаје на графиконима, ми…
Догађаји у програму Екцел ВБА |У Екцелу постоји седам врста догађаја. Сваки догађај се бави различитим обимом. Апликацијски догађај се бави на нивоу радне свеске. Радна свеска на нивоу листова. Догађај радног листа на нивоу опсега.
Догађаји радног листа у програму Екцел ВБА| Догађај радног листа је заиста користан када желите да се ваши макрои покрену када се на листу појави одређени догађај.
Догађаји радне свеске користећи ВБА у Мицрософт Екцелу | Догађаји радне свеске раде на целој радној свесци. Пошто су сви листови део радне свеске, и ови догађаји раде на њима.
Спречите аутоматско извршавање/евентмацро извршавање помоћу ВБА у Мицрософт Екцелу| Да бисте спречили покретање макроа ауто_опен, користите тастер схифт.
Забележите догађаје објеката помоћу ВБА у програму Мицрософт Екцел| Графикони су сложени објекти и постоји неколико компоненти које сте им придружили. За израду Цхарт Евентс -а користимо Цласс модул.
Популарни чланци:
50 Екцел пречица за повећање продуктивности | Убрзајте свој задатак. Ових 50 пречица ће ваш рад учинити још бржим у Екцелу.
Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.
ЦОУНТИФ у програму Екцел 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређену вредност. Цоунтиф функција је неопходна за припрему ваше контролне табле.
Како се користи функција СУМИФ у програму Екцел | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.