Догађаји са уграђеним графиконом помоћу ВБА у Екцелу

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

Anonim

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

Дакле, постоје два корака за активирање догађаја уграђеног графикона. Прво је креирање класе догађаја графикона и дефинисање догађаја. Друго је креирање објекта те класе догађаја. То је то.

Корак 1: Креирајте класу догађаја графикона и дефинишите догађаје

  • Уметните модул класе. Дајте му име како желите. Назвао сам га ЦхартЦласс.
  • Дефинишите променљиву догађаја типа графикона са кључном речи ВитхЕвентс.
    Приватно Са Догађајима ЦЕвентс Ас Цхарт
  • Иницијализујте овај догађај у потпрограму цласс_инитиализе ().
    Са падајућег менија са леве стране изаберите класу. Након тога, у падајућем менију у горњем десном углу изаберите Инитиалс.

    Приватна подразреда_Инитиализе () Постави ЦЕвентс = АцтивеСхеет.ЦхартОбјецтс (1). 

    Овде иницирамо ЦЕвентс Цхарт са првим графиконом направљеним на том листу. 1 је индексни број објеката графикона на активном листу.

  • Сада дефинишите догађаје које желите да користите. Са падајућег менија у горњем левом углу изаберите објекат ЦЕвент. Све доступне процедуре управљања догађајима биће вам доступне у падајућем менију у горњем десном углу. Изаберите шта год вам је потребно и дефинишите шта желите да урадите када се тај догађај покрене.
    Да бих показао употребу, бирам догађај ЦЕвентс_Ацтивате. Покушаћу да покажем кориснику да је догађај графикона активиран у оквиру за поруку.

    Привате Суб ЦЕвентс_Ацтивате () МсгБок "Догађаји на графикону раде" Енд Суб 

Наш посао овде је завршен. Овде можете да креирате онолико догађаја колико желите од доступних догађаја за тип графикона. Али догађаји још неће радити јер је то само час. Морамо да направимо објекат ове класе у подменију у било ком нормалном модулу или модулу објекта. Затим покрените ту подморницу. Након тога ће наш догађај почети са радом.

Корак 2: Креирајте објект класе графикона у модулу.

  • Уметните нормалан модул.
  • Прогласите променљиву класе коју сте раније креирали.
    Затамни мој графикон као ЦхартЦласс
  • Креирајте подмени и иницијализујте променљиву са објектом класе ЦхартЦласс.
    Суб енаблеЦхартЕвент () Постави мицхарт = Нова завршна подкарт ЦхартЦласс

  • Покрените овај суб помоћу Ф5. Како ћете покренути овај код, догађаји графикона ће бити активни за први графикон на тренутно активном листу јер смо ову линију користили за иницијализацију скупа догађаја графикона ЦЕвентс = АцтивеСхеет.ЦхартОбјецтс (1) .Цхарт.

И то је учињено. Сада, ако кликнете на први графикон на тренутно активном листу, приказаће се порука да догађаји графикона раде.

Укључивање и искључивање догађаја ВБА апликације

Када покренете макро у нормалном модулу, он ће се увек активирати све док не затворите радну свеску која садржи догађаје. Али можда ћете желети да их по жељи укључите и искључите. Постоје два начина за то.

  • Поништите објект догађаја
  • Подесите ЕнаблеЕвентс на Фалсе

1. поништавање објекта догађаја

У посебној потпрограми поставите објекат догађаја на Ништа

Привате Суб СтопЕвентс () Сет Мицхарт = Нотхинг Енд Суб

Када покренете овај код, догађаји ће престати да функционишу. Можете га ставити у дугме на радном листу да бисте зауставили догађаје. Сада ћете имати два дугмета за покретање и заустављање ових специфичних догађаја. Само ће зауставити догађаје које је створио АппЕ објекат.

2. Подесите ЕнаблеЕвентс на Фалсе

Други начин је онемогућавање догађаја. Да бисмо све догађаје учинили неприхватљивим, својство ЕнаблеЕвентс класе Апплицатион подесили смо наНетачно.

Привате Суб СтопЕвентс () Апплицатион.ЕнаблеЕвентс = Субсекција лажног краја

Горњи код ће онемогућити све догађаје. Чак и подразумевани екцел догађаји. Неће радити док их поново не покренете. Чак и ако покренете потпрограм СтартЕвентс () (горе), догађај неће радити. Да би сви догађаји поново радили, мораћете поново да поставите својство ЕнаблеЕвентс на Труе.

Дакле, ако желите да ваши догађаји функционишу сваки пут када започнете догађаје, додајте ову линију кода у подмени.

Привате Суб СтартЕвентс () Апплицатион.ЕнаблеЕвентс = Труе Сет мицхарт = Нова завршна под -листа ЦхартЦласс

Покретање догађаја графикона купаца сваки пут када се отвори радна свеска

Ако развијате алат за крајњег корисника, можда ћете желети да догађаји раде аутоматски. У том случају, можете поставити покретач догађаја у објекат Радне свеске са догађајем Воркбоок_опен (), уместо у уобичајени модул. Ово ће учинити ваш објекат догађаја иницијализованим чим отворите радну свеску која садржи догађаје.

Па да, момци, овако можете користити догађај уграђеног графикона у Екцелу. Обавестите ме да ли је ово довољно објашњење и да вам је помогло да разумете догађаје на нивоу апликације у програму Екцел ВБА. Запишите своја размишљања у одељку за коментаре испод. Ако имате шта да додате овоме, запишите и то. Можете поставити своја питања везана за овај чланак или било коју другу тему везану за Екцел ВБА у одељку за коментаре испод.

Преузмите радну датотеку испод:

Догађаји у програму Екцел ВБА |У Екцелу постоји седам врста догађаја. Сваки догађај се бави различитим обимом. Апликацијски догађај се бави на нивоу радне свеске. Радна свеска на нивоу листова. Догађај радног листа на нивоу опсега.

Догађаји радног листа у програму Екцел ВБА| Догађај радног листа је заиста користан када желите да се ваши макрои покрену када се на листу појави одређени догађај.

Догађаји радне свеске користећи ВБА у Мицрософт Екцелу | Догађаји радне свеске раде на целој радној свесци. Пошто су сви листови део радне свеске, и ови догађаји раде на њима.

Спречите аутоматско извршавање/евентмацро извршавање помоћу ВБА у Мицрософт Екцелу| Да бисте спречили покретање макроа ауто_опен, користите тастер схифт.

Забележите догађаје објеката помоћу ВБА у програму Мицрософт Екцел| Графикони су сложени објекти и постоји неколико компоненти које сте им придружили. За израду Цхарт Евентс -а користимо Цласс модул.

Популарни чланци:

50 Екцел пречица за повећање продуктивности | Убрзајте свој задатак. Ових 50 пречица ће ваш рад учинити још бржим у Екцелу.

Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.

ЦОУНТИФ у програму Екцел 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређену вредност. Цоунтиф функција је неопходна за припрему ваше контролне табле.

Како се користи функција СУМИФ у програму Екцел | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.