У програму Екцел можда радите на подацима који су толико осетљиви да ћете желети да их сачувате сваки пут када се промени одређена ћелија или опсег ћелија. Овај макро вам омогућава да дефинишете опсег ћелија које, када се промене, приморавају радну свеску да се сачува.
У приказаном примеру желите да се радна свеска сачува када се изврши измена у било којој од ћелија у опсегу Ц5:Ц16.
Промена ћелије у Ц5:Ц16 приморава радну свеску да се сачува.
Како функционише макро
Тајна овог кода је метода Интерсецт. Пошто не желите да сачувате радни лист када се било која стара ћелија промени, користите метод Интерсецт да бисте утврдили да ли се циљна ћелија (ћелија која се променила) сече са опсегом наведеним као опсег покретача (Ц5:Ц16 у овом случају) .
Метода Интерсецт враћа једну од две ствари: објекат Ранге који дефинише пресек између два дата опсега или ништа. Дакле, у суштини, морате да баците циљну ћелију на методу Интерсецт да бисте проверили вредност Ништа. У том тренутку можете одлучити да ли ћете сачувати радну свеску.
Приватни под радни лист_Цханге(БиВал Таргет Ас Ранге)
'Корак 1: Да ли се промењени опсег пресеца?
Ако Интерсецт(Таргет, Ранге("Ц5:Ц16")) није ништа онда
'Корак 2: Ако нема раскрснице, изађите из процедуре
Екит Суб
„Корак 3: Ако постоји раскрсница, сачувајте радну свеску
Иначе
АцтивеВоркбоок.Саве
„Корак 4: Затворите наредбу Иф
Крај Ако
Енд Суб
У кораку 1, једноставно проверите да ли је циљна ћелија (ћелија која се променила) у опсегу који је наведен методом Интерсецт. Вредност Ништа значи да је циљна ћелија изван наведеног опсега.
Корак 2 присиљава макро да заустави и изађе из процедуре ако не постоји пресек између циљне ћелије и наведеног опсега.
Ако постоји раскрсница, корак 3 покреће метод Саве активне радне свеске, замењујући претходну верзију.
У 4. кораку једноставно затворите наредбу Иф. Сваки пут када започнете проверу Иф-Тхен-Елсе, морате је затворити одговарајућим Енд Иф.
Како користити макро
Да бисте применили овај макро, потребно је да га копирате и налепите у прозор кода догађаја Ворксхеет_Цханге. Постављање макроа овде омогућава да се покрене сваки пут када направите било какву промену на листу:
Активирајте Висуал Басиц Едитор притиском на Алт+Ф11.
У прозору пројекта пронађите назив свог пројекта/радне свеске и кликните на знак плус поред њега да бисте видели све листове.
Кликните на лист са којег желите да покренете код.
У падајућој листи Догађај изаберите Промени догађај.
Откуцајте или налепите код у новокреирани модул, мењајући адресу опсега тако да одговара вашим потребама.
Унесите свој код у догађај Промена радног листа.