Tämä opetusohjelma opettaa sinulle kaiken Excel -laskentataulukon suojauksesta VBA: ssa - Kuinka suojata tai poistaa laskentataulukot Excelissä.
Poista Excel -laskentataulukon suojaus ilman salasanaa
Voit poistaa salasanalla suojaamattoman laskentataulukon suojan käyttämällä tätä yksinkertaista koodiriviä:
1 | Laskentataulukot ("Sheet1"). Poista suojaus |
Poista Excel -laskentataulukon suojaus salasanalla
Jos haluat poistaa salasanalla suojatun laskentataulukon suojan, sinun on myös annettava salasana:
1 | Laskentataulukot ("Sheet1"). Poista salasanan suojaus |
Poista arkin suojaus - Kadonnut salasana
Jos haluat poistaa laskentataulukon suojan tietämättä salasanaa, sinun on käytettävä salasanan palautusapuohjelmaa.
Suojaa laskentataulukot
Laskentataulukon suojauksen avulla voit estää taulukon tiettyjen osien muokkaamisen.
Tämä valikko löytyy osoitteesta Etusivu> Muoto> Suojaa arkki tai napsauttamalla Arkki-välilehden nimeä hiiren kakkospainikkeella:
Yleisimmin tätä käytetään lukittujen solujen suojaamiseen muokkaamiselta, jolloin vain loppukäyttäjä voi muokata tiettyjä soluja.
Voit lukita solut valitsemalla ne ja avaamalla Suojaus -välilehti ja Solun muotoiluvalikko (CTRL + 1).
Voit myös estää käyttäjää muuttamasta laskentataulukon rakennetta (lisäämällä, poistamalla tai muuttamalla rivejä ja sarakkeita) tai olemasta vuorovaikutuksessa automaattisten suodattimien kanssa ja paljon muuta.
Suojaa laskentataulukko - ilman salasanaa
Haluat ehkä suojata laskentataulukon antamatta salasanaa. Tämä estää laskentataulukon vahingossa tapahtuvat muutokset ja antaa käyttäjälle oikeuden tehdä muutoksia haluttaessa.
1 | Laskentataulukot ("Sheet1"). Suojaa |
Suojaa laskentataulukko - salasanasuojaus
1 | Laskentataulukot ("Sheet1"). Suojaa salasana |
Suojaa laskentataulukon asetukset
Yllä olevat esimerkit suojaavat laskentataulukoita vakio -suojausasetuksilla. Sen sijaan haluat ehkä muokata suojattua:
12345 | Laskentataulukot ("Sheet1"). Suojaa salasana: = strPassword, DrawingObjects: = True, Contents: = True, Scenarios: = True, _UserInterfaceOnly: = True, AllowFormattingCells: = False, AllowFormattingColumns: = False, _AllowFormattingRows: = False, AllowInsertingColumns: = False, AllowInsertingRows: = False, _AllowInsertingHyperlinks: = False, AllowDeletedColumns: = False, AllowDeletedRows: = False, _AllowSorting: = False, AllowFiltering: = False, AllowUsingPivotTables: = False |
Yllä olevan syntaksin käyttämisen sijaan suosittelen tallentamaan makron haluamillasi asetuksilla (valittuna yllä olevasta laskentataulukon suojaus -valikosta) ja kopioimaan + liittämään tallennetun koodin menettelyyn.
Suojaa arkki - Salli VBA: n tehdä muutoksia
Oletusarvoisesti, kun suojaat arkin, suojaus koskee VBA -toimintoja käyttäjän toimintojen lisäksi. Jos VBA yrittää muokata lukittua solua, näet ajonaikaisen virheen 1004. Voit välttää tämän poistamalla laskentataulukoiden suojauksen ja suojaamalla sen uudelleen aina, kun VBA tarvitsee vuorovaikutusta niiden kanssa:
123456789 | Osa Muokkaa_taulukko1 ()'Poista arkin suojaus 1Laskentataulukot ("Sheet1"). Poista suojaus'Tee jotain arkille 1'Suojaa arkki 1Laskentataulukot ("Sheet1"). SuojaaEnd Sub |
On kuitenkin helppo unohtaa poistaa ja/tai suojata laskentataulukot uudelleen. Tämä voi lisätä koodausvirheen todennäköisyyttä.
Sen sijaan voit käyttää UserInterFaceOnly -asetusta. Kun TOSI, laskentataulukot on VAIN suojattu käyttäjiltä, EI VBA: lta.VBA -koodisi voi muokata laskentataulukkoa vapaasti, aivan kuin se olisi avattu.
Kaksi tärkeää asiaa UserInterFaceOnly: sta:
- Tämä asetus ei ole käytettävissä laskentataulukon suojaus -valikossa (näkyy yllä). Se on asetus, joka on määritettävä VBA: ssa.
- Asetusta ei tallenneta, kun suljet työkirjan. Se on määritettävä uudelleen aina, kun työkirja avataan.
Jotta voit määrittää UserInterFaceOnly -ominaisuuden, sinun tulee sijoittaa seuraava Workbook_Open -tapahtumaprosessi ThisWorkbook -moduuliin:
1234567 | Yksityinen alityökirja_Avaa ()Dim ws laskentataulukkonaJokaiselle ws: lle tässä työkirjassaws.Protect UserInterfaceOnly: = TottaSeuraava wsEnd Sub |
Workbook_Open on erityinen tapahtumatoimenpide, joka suoritetaan aina, kun työkirja avataan. Se on sijoitettava ThisWorkbook -moduuliin. Vaihtoehtoisesti voit käyttää Auto_Open -tapahtumamenettelyä (ei kuulu tähän).
Poista kaikkien arkkien makron suojaus
Tämä makro poistaa kaikki työkirjan taulukot:
123456789 | 'Poista kaikkien laskentataulukoiden suojausOsa UnProtectAllSheets ()Dim ws laskentataulukkonaJokaiselle viikolle laskentataulukoissaws.Suojaa salasanaSeuraava wsEnd Sub |
Suojaa kaikki taulukot -makro
Tämä makro suojaa kaikki työkirjan taulukot:
123456789 | 'Suojaa kaikki laskentataulukotSub ProtectAllSheets ()Dim ws laskentataulukkonaJokaiselle viikolle laskentataulukoissaws.Suojaa "salasana"Seuraava wsEnd Sub |