Í Excel gætirðu verið að vinna í gögnum sem eru svo viðkvæm að þú vilt vista í hvert skipti sem tiltekinni hólf eða svið hólfa er breytt. Þessi fjölvi gerir þér kleift að skilgreina svið af frumum sem, þegar breytt, neyðir vinnubókina til að vista.
Í dæminu sem sýnt er, viltu að vinnubókin vistist þegar breyting er gerð á einhverjum af reitunum á bilinu C5:C16.
Breyting á reit í C5:C16 þvingar vinnubókina til að vista.
Hvernig macro virkar
Leyndarmálið við þennan kóða er Intersect aðferðin. Vegna þess að þú vilt ekki vista vinnublaðið þegar einhver gömul hólf breytist, notarðu skurðaðgerðina til að ákvarða hvort markreiturinn (hólfið sem breyttist) skerist svið sem tilgreint er sem kveikjusvið (C5:C16 í þessu tilfelli) .
Intersect aðferðin skilar öðru af tvennu: Range hlut sem skilgreinir skurðpunktinn á milli tveggja tiltekinna sviða, eða ekkert. Svo í rauninni þarftu að henda markreitnum á móti Intersect aðferðinni til að athuga hvort gildið er ekkert. Á þeim tímapunkti geturðu ákveðið hvort vista eigi vinnubókina.
Private Sub Worksheet_Change(ByVal Target As Range)
'Skref 1: Skerist breytt svið?
If Intersect(Target, Range("C5:C16")) er ekkert þá
Skref 2: Ef það eru engin gatnamót, farðu út
Hætta undir
'Skref 3: Ef það eru gatnamót, vistaðu vinnubókina
Annar
ActiveWorkbook.Save
'Skref 4: Lokaðu Ef yfirlýsingunni
End If
End Sub
Í skrefi 1, athugarðu einfaldlega hvort markfruman (hólfið sem hefur breyst) er á bilinu sem tilgreint er með Intersect aðferðinni. Gildið Ekkert þýðir að markreiturinn er utan þess sviðs sem tilgreint er.
Skref 2 neyðir fjölvi til að stöðva og hætta ferlinu ef engin skurðpunktur er á milli markhólfsins og tilgreinds sviðs.
Ef það eru gatnamót ræsir skref 3 Vista aðferð virku vinnubókarinnar og skrifar yfir fyrri útgáfu.
Í skrefi 4 lokarðu einfaldlega Ef yfirlýsingunni. Í hvert skipti sem þú byrjar ef-þá-annar athugun verður þú að loka henni með samsvarandi End If.
Hvernig á að nota macro
Til að útfæra þetta fjölvi þarftu að afrita og líma það inn í Worksheet_Change atburðakóðagluggann. Með því að setja makróið hér getur það keyrt í hvert skipti sem þú gerir einhverjar breytingar á blaðinu:
Virkjaðu Visual Basic Editor með því að ýta á Alt+F11.
Í verkefnaglugganum, finndu nafn verkefnisins/vinnubókarinnar og smelltu á plúsmerkið við hliðina á því til að sjá öll blöðin.
Smelltu á blaðið sem þú vilt kveikja á kóðanum.
Í fellilistanum Atburður, veldu Breyta atburði.
Sláðu inn eða límdu kóðann í nýstofnaða einingu, breyttu sviðsfanginu til að henta þínum þörfum.
Sláðu inn kóðann þinn í Breyta vinnublaðsviðburðinum.