VBA Suojaa / poista suojaus -arkit

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

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave