För att använda vilket makro som helst i Excel måste dina användare aktivera makron. Det vill säga att de måste ge Excel behörighet att köra makron i sin miljö. För att aktivera makron klickar användare på knappen Aktivera innehåll i säkerhetsvarningen som dyker upp ovanför formelfältet.

Summan av kardemumman är att du kan skriva alla tjusiga makron i världen, men de kommer aldrig att köras om inte dina användare aktiverar makron. Detta väcker frågan; kan du tvinga användare att aktivera makron? Svaret är ja – med lite knep.
Tanken är relativt enkel. Du skapar ett arbetsblad som heter, säg START. Det bladet innehåller bara en enkel varning som säger att makron måste aktiveras. Du döljer sedan alla ark i arbetsboken förutom det START-arket. Slutligen skriver du ett enkelt makro som visar alla ark när arbetsboken öppnas.

Vid denna tidpunkt, när arbetsboken öppnas, kommer Excel att be användaren att aktivera makron. Användare kommer att tvingas göra det eftersom allt de kommer att se är ditt startark. De andra arken kommer att döljas!
För att få den här tekniken att fungera behöver du två makron: Ett makro döljer allt utom START-bladet när arbetsboken stängs och ett annat makro som visar alla utom START-arket när arbetsboken öppnas.
Ta först hand om de åtgärder som måste hända när arbetsboken stängs. :
Aktivera Visual Basic Editor genom att trycka på ALT+F11 på ditt tangentbord
I projektfönstret letar du upp ditt projekt-/arbetsboksnamn och klickar på plustecknet bredvid det för att se alla ark.
Klicka på ThisWorkbook.
I listrutan Händelse väljer du händelsen BeforeClose.

Skriv eller klistra in följande kod:
Privat underarbetsbok_BeforeClose(Avbryt som boolesk)
'Steg 1: Deklarera dina variabler
Dim ws As Arbetsblad
'Steg 2: Visa startarket
Sheets("START").Visible = xlSheetVisible
'Steg 3: Börja gå igenom alla kalkylblad
För varje Ws In ThisWorkbook.Worksheets
'Steg 4: Kontrollera varje kalkylbladsnamn
Om ws.Name <> "START" Då
'Steg 5: Göm arket
ws.Visible = xlVeryHidden
Avsluta om
'Steg 6: Gå till nästa kalkylblad
Nästa ws
'Steg 7: Spara arbetsboken
ActiveWorkbook.Save
Avsluta Sub
I steg 1 deklarerar du ett objekt som heter ws för att skapa en minnesbehållare för varje kalkylblad du ska gå igenom.
I steg 2 ser du till att START-bladet är synligt.
I steg 3 startar du loopningen och säger till Excel att du vill utvärdera alla kalkylblad i den här arbetsboken.
I steg 4 jämför du helt enkelt namnet START med arket som för närvarande slingras. Detta steg säkerställer att de åtgärder som kommer härnäst tillämpas på alla ark utom START-arket.
Om arknamnen är olika, i steg 5 döljer du arket genom att använda egenskapen xlVeryHidden. Den här egenskapen döljer inte bara arket utan hindrar också användaren från att manuellt visa det genom att använda användargränssnittet.
Du går tillbaka för att få nästa ark i steg 6.
I steg 7, efter att alla ark har utvärderats, sparar makrot arbetsboken och avslutas.
Nu måste du skriva ett makro för att hantera alla åtgärder som måste hända när arbetsboken öppnas:
Aktivera Visual Basic Editor genom att trycka ALT+F11.
I projektfönstret letar du upp ditt projekt-/arbetsboksnamn och klickar på plustecknet bredvid det för att se alla ark.
Klicka på ThisWorkbook.
I listrutan Händelse väljer du evenemanget Öppna.

Skriv eller klistra in följande kod:
Privat underarbetsbok_Öppen()
'Steg 1: Deklarera dina variabler
Dim ws As Arbetsblad
'Steg 2: Börja gå igenom alla kalkylblad
För varje Ws In ThisWorkbook.Worksheets
'Steg 3: Visa alla kalkylblad
ws.Visible = xlSheetVisible
'Steg 4: Gå till nästa kalkylblad
Nästa ws
'Steg 5: Göm startarket
Sheets("START").Visible = xlVeryHidden
Avsluta Sub
I steg 1 deklarerar du ett objekt som heter ws för att skapa en minnesbehållare för varje kalkylblad du går igenom.
I steg 2 startar du loopingen och säger till Excel att du vill utvärdera alla kalkylblad i den här arbetsboken.
I steg 3 visar du arket som för närvarande slingras. Detta steg visar effektivt alla kalkylblad eftersom varje ark görs synligt.
Du går tillbaka för att få nästa ark i steg 4.
När alla ark har gjorts synliga döljer steg 5 START-arket. Återigen använder du egenskapen xlVeryHidden så att användaren inte kommer att kunna visa arket manuellt genom att använda användargränssnittet.
Efter att båda makron har implementerats har du en arbetsbok som bara fungerar om användaren aktiverar makron!