Innehållsförteckning:
Video: Övn 5 att dela arbetsbok i Excel 2024
I Excel kan du arbeta med data som är så känsliga att du vill spara varje gång en viss cell eller cellintervall är ändrats. Med detta makro kan du definiera ett antal celler som, när de ändras, tvingar arbetsboken att spara.
I det visade exemplet vill du ha arbetsboken att spara när en redigering görs till någon av cellerna i intervallet C5: C16.
Hur makroen fungerar
Hemligheten med denna kod är Intersect-metoden. Eftersom du inte vill spara kalkylbladet när någon gammal cell ändras, använder du Intersect-metoden för att bestämma om målcellen (cellen som ändrats) skär med det intervall som anges som triggerintervallet (C5: C16 i det här fallet).
Intersect-metoden returnerar en av två saker: ett områdeobjekt som definierar korsningen mellan de två givna intervallen eller ingenting. Så i huvudsak måste du kasta målcellen mot Intersect-metoden för att kontrollera för ett värde av Ingenting. Då kan du bestämma om du ska spara arbetsboken.
Privat Sub Worksheet_Change (ByVal Target As Range) 'Steg 1: Korsar det ändrade intervallet? Om Intersect (Target, Range ("C5: C16")) är ingenting sedan "Steg 2: Om det inte finns något korsning, avsluta proceduren Exit Sub" Steg 3: Om det finns ett korsning, spara arbetsboken Else ActiveWorkbook. Spara 'Steg 4: Stäng om If-satsen Slutar om slutdel
I steg 1 kontrollerar du helt enkelt om målcellen (cellen som har ändrats) ligger inom det intervall som anges av Intersect-metoden. Ett värde av ingenting betyder att målcellen ligger utanför det angivna intervallet.
Steg 2 tvingar makroet att stoppa och avsluta proceduren om det inte finns någon korsning mellan målcellen och det angivna intervallet.
Om det finns ett korsning, stannar steg 3 Spara-metoden i den aktiva arbetsboken och skriver över den föregående versionen.
I steg 4 stänger du helt enkelt If-satsen. Varje gång du startar en If-Then-Else-kontroll, måste du stänga den med en motsvarande End If.
Hur man använder makro
För att implementera detta makro måste du kopiera och klistra in det i Worksheet_Change-händelsekodfönstret. Om du ställer in makronet här kan det köras varje gång du ändrar arket:
-
Aktivera Visual Basic Editor genom att trycka på Alt + F11.
-
I projektfönstret hittar du ditt projekt / arbetsbok namn och klickar på plustecknet bredvid det för att se alla lakan.
-
Klicka på det ark som du vill utlösa koden från.
-
I händelselistan väljer du Ändra händelsen.
-
Skriv eller klistra koden i den nyskapade modulen, ändra adressadressen så att den passar dina behov.
Ange din kod i händelse Arbetsblad Ändra.