Excel vám umožňuje chrániť svoje zošity programu Excel pred zmenami. Tento tutoriál vám ukáže, ako chrániť alebo odomknúť štruktúru zošita pomocou VBA.
Ochrana zošita VBA
Ochrana zošita VBA vám umožňuje uzamknúť štruktúru zošita. Keď je zošit chránený, používatelia nebudú môcť pridávať, odstraňovať, skrývať / odkrývať alebo chrániť / odomknúť pracovné hárky. Ak staviate model, pravdepodobne budete chcieť zapnúť ochranu zošita, aby sa zabránilo používateľom (alebo vám!) V náhodnom odstránení pracovných hárkov.
Zrušiť ochranu zošita VBA
Na zrušenie ochrany zošita jednoducho použite nasledujúci riadok kódu:
1 | Zošity („Kniha 1“). Zrušte ochranu |
Poznámka: tento kód bude fungovať, iba ak bude zošit chránený bez heslo. Ak bolo chránené heslom, musíte ho tiež odomknúť zadaním hesla:
Zrušiť ochranu zošita heslom
Tento riadok kódu zruší ochranu zošita, ktorý bol chránený heslom:
1 | Zošity („Kniha 1“). Zrušte ochranu hesla: = „heslo“ |
alebo môžete vynechať Heslo: =
1 | Zošity („Kniha 1“). Zrušte ochranu „hesla“ |
Zrušiť ochranu tejto Pracovnej knihy
Tento kód zruší ochranu programu ThisWorkbook (ThisWorkbook je zošit, kde je uložený spustený kód. Nikdy sa nezmení).
1 | ThisWorkbook.Unprotect |
alebo zrušte ochranu ThisWorkbook pomocou hesla:
1 | ThisWorkbook.Unprotect "heslo" |
Zrušiť ochranu ActiveWorkbook
Tento kód zruší ochranu ActiveWorbooku.
1 | ActiveWorkbook. Zrušiť ochranu |
alebo zrušte ochranu ActiveWorkbooku pomocou hesla:
1 | ActiveWorkbook. Zrušte ochranu „hesla“ |
Zrušiť ochranu všetkých otvorených zošitov
Tento kód zruší ochranu všetkých otvorených zošitov:
12345678 | Sub UnprotectAllOpenWorkbooks ()Dim wb ako zošitPre každý wb v zošitochwb. Zrušiť ochranuDalsie wbKoniec pod |
Zošit UnProtect - bez znalosti hesla
Ak potrebujete zrušiť ochranu zošita bez znalosti hesla, existuje niekoľko doplnkov, ktoré vám pomôžu. Odporučil by som Ribbon Commander.
Zrušte ochranu všetkých hárkov v zošite
Po zrušení ochrany zošita môžete tiež chcieť zrušiť ochranu všetkých hárkov v zošite. Tu je postup, ktorý odstráni ochranu všetkých hárkov:
12345678 | Sub UnProtectWorkbookAndAllSheets ()Dim ws As worksheetActiveWorkbook. Zrušiť ochranuZa každé ws v pracovných listochws.UnprotectĎalšieKoniec pod |
Chráňte zošit
Štruktúry zošita môžete chrániť rovnakým spôsobom, akým zrušíte ochranu.
Chráňte zošit bez hesla
Tento riadok kódu ochráni zošit (žiadne heslo)
1 | Zošity („Kniha 1“). Chráňte |
Poznámka: Často používam ochranu zošita bez hesiel, len aby som tomu zabránil náhodný zmeny v pracovných zošitoch.
Chráňte zošit heslom
Tento kód ochráni štruktúru zošita (pomocou hesla)
1 | Zošity („Kniha 1“). Chráňte „heslo“ |
alebo:
1 | Zošity („Kniha 1“). Chrániť heslo: = „heslo“ |
Súbor Excel chránený heslom
Namiesto ochrany zošita možno budete chcieť chrániť celý súbor programu Excel heslom. Ak to chcete urobiť pomocou VBA, uložte ako zošit s heslom:
1 | Zošity („Kniha 1“). Uložiť ako „heslo“ |
Príklady zošitov Protect / UnProtect
Odkryte všetky pracovné hárky v chránenom zošite
Tento postup zruší ochranu zošita, skryje všetky pracovné hárky a zošit znova ochráni
12345678910 | Podzabránenie ochranyWB_Unhide_All_Sheets ()Dim ws As worksheetActiveWorkbook. Zrušiť ochranuZa každé ws v pracovných listochws.Visible = xlSheetVisibleĎalšieActiveWorkbook.ProtectKoniec pod |
Chráňte zošit a všetky listy
Tento postup ochráni všetky pracovné hárky v zošite a potom ochráni zošit:
1234567891011 | Sub ProtectWB_Protect_All_Sheets ()Dim ws As worksheetActiveWorkbook. Zrušiť ochranuZa každé ws v pracovných listochws.ChrániťĎalšieActiveWorkbook.ProtectKoniec pod |
Môžete tiež pridať ochranu heslom:
1234567891011 | Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws As worksheetActiveWorkbook. Zrušte ochranu „hesla“Za každé ws v pracovných listochws.Chráňte "heslo"ĎalšieActiveWorkbook.Protect "heslo"Koniec pod |