Догађаји у Екцел-у

Термин "Екцел догађај» се користи за означавање одређених радњи које је корисник извршио у Екцел-у. На пример, када корисник промени лист радне свеске, ово је догађај. Уношење података у ћелију или чување радне свеске су такође Екцел догађаји.

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

На пример, да би се макро покренуо сваки пут када корисник промени радни лист у Екцел радној свесци, креирали бисте ВБА код који ће се покретати сваки пут када дође до догађаја СхеетАцтивате радна свеска.

А ако желите да се макро покреће сваки пут када одете на одређени радни лист (нпр. СхеетКСНУМКС), онда ВБА код мора бити повезан са догађајем активирати за овај лист.

ВБА код намењен за руковање Екцел догађајима мора бити постављен у одговарајући радни лист или објекат радне свеске у прозору ВБА уређивача (уређивач се може отворити кликом на Алт + ФКСНУМКС). На пример, код који треба да се изврши сваки пут када се деси одређени догађај на нивоу радног листа треба да се постави у прозор кода за тај радни лист. Ово је приказано на слици:

У уређивачу Висуал Басиц-а можете да видите скуп свих Екцел догађаја доступних на нивоу радне свеске, радног листа или графикона. Отворите прозор кода за изабрани објекат и изаберите тип објекта из левог падајућег менија на врху прозора. Десни падајући мени на врху прозора ће приказати догађаје дефинисане за овај објекат. На слици испод је приказана листа догађаја повезаних са Екцел радним листом:

Догађаји у Екцел-у

Кликните на жељени догађај у десном падајућем менију и процедура ће аутоматски бити уметнута у прозор кода за овај објекат Под. на челу поступка Под Екцел аутоматски убацује потребне аргументе (ако их има). Остаје само да додате ВБА код да одредите које радње процедура треба да изврши када се открије жељени догађај.

Пример

У следећем примеру, сваки пут када се изабере ћелија B1 на радном листу СхеетКСНУМКС појављује се оквир за поруку.

Да бисмо извршили ову радњу, морамо да користимо догађај радног листа Селецтион_Цханге, који се јавља сваки пут када се промени избор ћелије или опсега ћелија. Функција Селецтион_Цханге прима као аргумент Мета објекат -. Тако знамо који опсег ћелија је изабран.

догађај Селецтион_Цханге јавља се са било којом новом селекцијом. Али потребан нам је скуп акција да се изврши само када је ћелија изабрана B1. Да бисмо то урадили, пратићемо догађај само у наведеном опсегу Мета. Како се имплементира у програмском коду приказаном у наставку:

„Код за приказ оквира са поруком када је изабрана ћелија Б1 „на тренутном радном листу. Привате Суб Ворксхеет_СелецтионЦханге(БиВал Таргет Ас Ранге) 'Проверите да ли је изабрана ћелија Б1 ако је Таргет.Цоунт = 1 и Таргет.Ров = 1 и Таргет.Цолумн = 2 Затим 'Ако је изабрана ћелија Б1, урадите следеће МсгБок "Имате изабрао ћелију Б1" Енд Иф Енд Суб

Ostavite komentar