See õpetus õpetab teile kõike Exceli töölehe kaitse kohta VBA -s - kuidas Exceli töölehti kaitsta või kaitsest vabastada.
Tühistage Exceli töölehe kaitse ilma paroolita
Parooliga kaitstud töölehe kaitsest vabastamiseks kasutage seda lihtsat koodirida:
1 | Töölehed ("Sheet1"). Tühista kaitse |
Vabastage Exceli töölehe kaitse parooliga
Parooliga kaitstud töölehe kaitse tühistamiseks peate sisestama ka parooli.
1 | Töölehed ("Sheet1"). Tühistage "Parooli" kaitse |
Tühista lehe kaitse - kaotatud parool
Töölehe kaitse tühistamiseks ilma parooli teadmata peate kasutama parooli taastamise lisandmoodulit.
Kaitske töölehti
Töölehe kaitse võimaldab teil lehe teatud aspektid redigeerimise eest lukustada.
See menüü on leitav Avaleht> Vorming> Kaitse lehte või paremklõpsake vahekaardi Leht nime:
Enamasti kasutatakse seda lukustatud lahtrite kaitsmiseks redigeerimise eest, võimaldades lõppkasutajal redigeerida ainult teatud lahtreid.
Saate lahtrid lukustada, valides need ja avades Vahekaart Kaitse selle Lahtrite vormindamise menüü (CTRL + 1).
Samuti saate takistada kasutajal töölehe struktuuri muutmist (ridade ja veergude sisestamist, kustutamist või suuruse muutmist) või automaatsete filtritega suhtlemist ja palju muud.
Kaitske töölehte - ilma paroolita
Võib -olla soovite töölehte kaitsta parooli sisestamata. See hoiab ära töölehe juhusliku muutmise, andes samas kasutajale soovi korral muudatuste tegemiseks juurdepääsu.
1 | Töölehed ("Sheet1"). Kaitsta |
Kaitske töölehte - paroolikaitse
1 | Töölehed ("Sheet1"). Kaitske parooli |
Kaitske töölehe seadeid
Ülaltoodud näited kaitsevad töölehti standardsete kaitseseadetega. Selle asemel võiksite kohandada seda, mis on kaitstud.
12345 | Töölehed ("Sheet1"). Kaitske parooli: = strPassword, DrawingObjects: = True, Contents: = True, Scenarios: = True, _UserInterfaceOnly: = Tõsi, AllowFormattingCells: = Vale, AllowFormattingColumns: = Vale, _AllowFormattingRows: = False, AllowInsertingColumns: = False, AllowInsertingRows: = False, _AllowInsertingHyperlinks: = False, AllowDeletedColumns: = False, AllowDeletedRows: = False, _AllowSorting: = False, AllowFiltering: = False, AllowUsingPivotTables: = False |
Ülaltoodud süntaksi kasutamise asemel soovitan salvestada soovitud sätetega makro (mis on valitud ülaltoodud menüü Töölehe kaitse abil) ja salvestatud koodi kopeerida + kleepida oma protseduuri.
Kaitse lehte - lubage VBA -l muudatusi teha
Kui kaitsete lehte, kehtib see vaikimisi lisaks kasutaja toimingutele ka VBA toimingute suhtes. Kui VBA üritab lukustatud lahtrit muuta, näete käitustõrge 1004. Selle vältimiseks võite oma töölehtede kaitse ja uuesti kaitsta, kui VBA peab nendega suhtlema:
123456789 | Alam Redigeerimisleht1 ()„Kaitske leht 1Töölehed ("Sheet1"). Tühista kaitse„Tehke lehele midagi” 1„Kaitske leht 1Töölehed ("Sheet1"). KaitstaEnd Sub |
Siiski on lihtne unustada oma töölehtede kaitse ja/või uuesti kaitsmine. See võib suurendada kodeerimisvea tõenäosust.
Selle asemel saate kasutada sätet UserInterFaceOnly. Kui see on tõene, on töölehed AINULT kaitstud kasutajate, mitte VBA eest.Teie VBA -koodi saab töölehte tasuta muuta, nagu see oleks lukustamata.
Kaks olulist punkti UserInterFaceOnly kohta:
- See säte pole töölehe kaitse menüüst saadaval (näidatud ülal). See on seade, mis tuleb VBA -s määratleda.
- Töövihiku sulgemisel seadistust ei salvestata. See tuleb iga kord töövihiku avamisel uuesti määratleda.
Nii et atribuudi UserInterFaceOnly määramiseks peaksite selle töövihiku moodulisse asetama järgmise sündmuse protseduuri Workbook_Open:
1234567 | Privaatne alamtöövihik_Avatud ()Dim ws töölehenaIga töö jaoks käesolevas töövihikus. Töölehedws.Protect UserInterfaceOnly: = TõsiJärgmine wsEnd Sub |
Workbook_Open on eriline sündmuste protseduur, mis käivitatakse iga kord, kui töövihik on avatud. See tuleb paigutada käesoleva töövihiku moodulisse. Teise võimalusena võite kasutada sündmuste protseduuri Auto_Open (siin ei käsitleta).
Tühista kõigi lehtede makro kaitse
See makro eemaldab töövihiku kõikide arvutustabelite kaitse:
123456789 | 'Tühista kõigi töölehtede kaitseSub UnProtectAllSheets ()Dim ws töölehenaIga ws töölehtedelws. Kaitske parooliJärgmine wsEnd Sub |
Kaitse kõigi lehtede makro
See makro kaitseb kõiki töövihiku lehti:
123456789 | „Kaitske kõiki töölehtiSub ProtectAllSheets ()Dim ws töölehenaIga ws töölehtedelws.Kaitse "parool"Järgmine wsEnd Sub |