Në Excel, mund të jeni duke punuar në të dhëna që janë aq të ndjeshme saqë do të dëshironi të ruani sa herë që ndryshon një qelizë e caktuar ose një gamë qelizash. Kjo makro ju lejon të përcaktoni një gamë qelizash që, kur ndryshohen, detyrojnë librin e punës të ruhet.
Në shembullin e treguar, dëshironi që libri i punës të ruhet kur bëhet një modifikim në ndonjë nga qelizat në diapazonin C5:C16.
Ndryshimi i një qelize në C5:C16 e detyron librin e punës të ruajë.
Si funksionon makroja
Sekreti i këtij kodi është metoda Intersect. Për shkak se nuk dëshironi të ruani fletën e punës kur ndryshon ndonjë qelizë e vjetër, ju përdorni metodën Ndërprerje për të përcaktuar nëse qeliza e synuar (qeliza që ndryshoi) kryqëzohet me diapazonin e specifikuar si diapazoni i aktivizimit (C5:C16 në këtë rast) .
Metoda Intersect kthen një nga dy gjërat: një objekt Range që përcakton kryqëzimin midis dy vargjeve të dhëna, ose asgjë. Pra, në thelb, ju duhet të hidhni qelizën e synuar kundër metodës Ndërprerje për të kontrolluar për një vlerë të Asgjë. Në atë pikë, mund të vendosni nëse do ta ruani librin e punës.
Nën-Fletë pune private_Ndrysho (ByVal Target As Range)
'Hapi 1: A kryqëzohet diapazoni i ndryshuar?
Nëse Ndërprerja (Synimi, Gama ("C5:C16")) nuk është asgjë atëherë
'Hapi 2: Nëse nuk ka kryqëzim, procedura e daljes
Dilni Nën
'Hapi 3: Nëse ka një kryqëzim, ruani librin e punës
Përndryshe
ActiveWorkbook.Ruaj
'Hapi 4: Mbyllni deklaratën If
Fundi Nëse
Fundi Nën
Në hapin 1, thjesht kontrolloni nëse qeliza e synuar (qeliza që ka ndryshuar) është në intervalin e specifikuar nga metoda Ndërprerje. Një vlerë e Asgjë do të thotë që qeliza e synuar është jashtë gamës së specifikuar.
Hapi 2 e detyron makronë të ndalojë dhe të dalë nga procedura nëse nuk ka kryqëzim midis qelizës së synuar dhe gamës së specifikuar.
Nëse ka një kryqëzim, Hapi 3 aktivizon metodën Save të librit aktiv të punës, duke mbishkruar versionin e mëparshëm.
Në hapin 4, thjesht mbyllni deklaratën If. Sa herë që filloni një kontroll If-Then-Else, duhet ta mbyllni atë me një Fund If përkatës.
Si të përdorni makro
Për të zbatuar këtë makro, duhet ta kopjoni dhe ngjisni në dritaren e kodit të ngjarjes Worksheet_Change. Vendosja e makros këtu e lejon atë të funksionojë sa herë që bëni ndonjë ndryshim në fletë:
Aktivizoni Visual Basic Editor duke shtypur Alt+F11.
Në dritaren e projektit, gjeni emrin e projektit/librit tuaj të punës dhe klikoni shenjën plus pranë tij për të parë të gjitha fletët.
Klikoni në fletën nga e cila dëshironi të aktivizoni kodin.
Në listën rënëse Ngjarje, zgjidhni Ndrysho ngjarjen.
Shkruani ose ngjisni kodin në modulin e krijuar rishtazi, duke ndryshuar adresën e gamës për t'iu përshtatur nevojave tuaja.
Futni kodin tuaj në ngjarjen "Ndryshimi i fletës së punës".