Video: Ambassadors, Attorneys, Accountants, Democratic and Republican Party Officials (1950s Interviews) 2024
For at bruge en hvilken som helst makro i Excel skal dine brugere aktivere makroer. Det vil sige, de skal give Excel tilladelse til at køre makroer i deres omgivelser. For at aktivere makroer, klikker brugerne på knappen Aktiver indhold i sikkerhedsadvarslen, der vises oven over formellelinjen.
Den nederste linje er, at du kan skrive alle de fancy makroer i verden, men de løber aldrig, medmindre dine brugere aktiverer makroer. Dette beder spørgsmålet; kan du tvinge brugere til at aktivere makroer? Svaret er ja - med lidt lur.
Ideen er relativt enkel. Du opretter et ark, der hedder START START. Det ark indeholder kun en simpel advarsel om, at makroer skal aktiveres. Derefter gemmer du alle ark i projektmappen undtagen for det START-ark. Endelig skriver du en enkel makro, der fjerner alle ark, når arbejdsbogen åbnes.
På dette tidspunkt, når arbejdsbogen åbnes, vil Excel bede brugeren om at aktivere makroer. Brugere vil blive tvunget til at gøre det, fordi alt de vil se er dit startark. De andre ark vil være skjult!
For at få denne teknik til at fungere, har du brug for to makroer: En makro gemmer alt, men START-arket, når arbejdsbogen lukker, og en anden makro, der udelukker alt, men START-arket, når arbejdsbogen åbnes.
Først takler du de handlinger, der skal ske, når arbejdsbogen lukker.:
-
Aktiver Visual Basic Editor ved at trykke ALT + F11 på tastaturet.
-
I projektvinduet finder du dit projekt / projektmappe og klikker på plustegnet ved siden af det for at se alle arkene.
-
Klik på ThisWorkbook.
-
Vælg Event before-event i rullemenuen Begivenhed.
-
Indtast eller indsæt følgende kode:
Privat under Workbook_BeforeClose (Annuller som boolsk) 'Trin 1: Erklær dine variabler Dim ws As Worksheet' Trin 2: Forhindre startarkarket ("START"). Synlig = xlSheetVisible 'Trin 3: Start looping gennem alle regneark For hver ws I ThisWorkbook. Regneark 'Trin 4: Kontroller hvert regnearknavn Hvis ws. Navn "START" Så 'Trin 5: Skjul arket ws. Synlig = xlVeryHidden End Hvis 'Trin 6: Loop til næste regneark Næste ws' Trin 7: Gem arbejdsbogen ActiveWorkbook. Gem endedel
I trin 1 erklærer du et objekt kaldet ws for at oprette en hukommelsesbeholder for hvert regneark, du vil løbe igennem.
I trin 2 sikrer du, at START-arket er synligt.
I trin 3 starter du loopingen og fortæller Excel, at du vil evaluere alle regneark i denne projektmappe.
I trin 4 sammenligner du simpelthen navnet START til det ark, der aktuelt er sløjfet. Dette trin sikrer, at de handlinger, der kommer næste, bliver anvendt på alle ark undtagen START-arket.
Hvis arknavnene er forskellige, gemmer du i trin 5 dig arket ved hjælp af xlVeryHidden-ejendommen. Denne egenskab skjuler ikke kun arket, men forhindrer også brugeren i manuelt at skjule det ved at bruge brugergrænsefladen.
Du løber tilbage for at få det næste ark i trin 6.
I trin 7, efter at alle ark er evalueret, gemmer makroen arbejdsbogen og slutterne.
Nu skal du skrive en makro til at håndtere alle de handlinger, der skal ske, når arbejdsbogen åbnes:
-
Aktiver Visual Basic Editor ved at trykke ALT + F11.
-
I projektvinduet finder du dit projekt / projektmappe og klikker på plustegnet ved siden af det for at se alle arkene.
-
Klik på ThisWorkbook.
-
Vælg den åbne begivenhed i rullemenuen Begivenhed.
-
Skriv eller indsæt følgende kode:
Privat Sub Workbook_Open () 'Trin 1: Erklære dine variabler Dim ws As Worksheet' Trin 2: Start looping gennem alle regneark For hver ws I ThisWorkbook. Regneark 'Trin 3: Opbevar alle regneark ws. Synlig = xlSheetVisible 'Trin 4: Loop til næste regneark Næste ws' Trin 5: Skjul startarkets ark ("START"). Synlig = xlVeryHidden End Sub
I trin 1 erklærer du et objekt kaldet ws for at oprette en hukommelsesbeholder for hvert regneark, du løber igennem.
I trin 2 starter du loopingen og fortæller Excel, at du vil evaluere alle regneark i denne projektmappe.
I trin 3 fjerner du det ark, der aktuelt er sløjfet. Dette trin fjerner effektivt alle regneark, da hvert ark er synligt.
Du løber tilbage for at få det næste ark i trin 4.
Når alle ark er synlige, skjuler trin 5 START-arket. Igen bruger du xlVeryHidden egenskaben, så brugeren ikke vil kunne manuelt ophæve arket ved hjælp af brugergrænsefladen.
Når begge makroer er implementeret, har du en projektmappe, der kun virker, hvis brugeren aktiverer makroer!