VBA UnProtect Sheet | Käytä VBA-koodia poistaaksesi Excel-taulukon suojauksen

Excel VBA Suojaa arkki

On tilanteita, joissa suojaamme laskentataulukojamme estääkseen sitä käyttäjältä manipuloimasta laskentataulukoita. Suojellessamme laskentataulukkoa säilytämme yleensä saman salasanan. Tässä artikkelissa näytämme sinulle tavan poistaa arkin suojaus VBA-koodauksella.

Esimerkkejä

Voit ladata tämän VBA Unprotect Sheet Excel -mallin täältä - VBA Unprotect Sheet Excel -malli

Esimerkki 1

Arkin suojauksen poistaminen on 99% yksinkertaisempaa kuin niiden suojaaminen, tarvitsemme vain salasanan laskentataulukon suojauksen poistamiseksi.

Ensimmäinen asia, joka meidän on tehtävä, on mainita laskentataulukon nimi, jonka aiomme suojata. Esimerkiksi, jos haluat suojata taulukon nimeltä "Myyntitiedot", VBA-koodisi tulisi olla tällainen.

Taulukot ("Myyntitiedot")

Käytä sitten Poista suojaus -menetelmää.

Kuten voimme nähdä yllä olevasta kuvasta, emme näe minkäänlaista IntelliSense-luetteloa auttamaan meitä. Tämä tekee työstä kovempaa etenkin uudelle oppijalle.

Tämän voittamiseksi luotan yleensä VBA-muuttujan julistamiseen "laskentataulukoksi".

Koodi:

 Sub Unpretect_Example1 () Himmennä Ws laskentataulukon loppuosana 

Aseta nyt ilmoitettu muuttuja vastaavalle taulukolle.

Koodi:

 Sub Unpretect_Example1 () Dim Ws kuten laskentataulukko Ws = laskentataulukot ("Myyntitiedot") End Sub 

Käytä nyt muuttujaa päästäksesi ilmoitetun muuttujan kaikkiin ominaisuuksiin ja menetelmiin.

Kuten yllä olevasta kuvasta näet, voimme käyttää kaikkia ominaisuuksia ja menetelmiä. Valitse "Poista suojaus" -menetelmä IntelliSense-luettelosta.

Se pyytää salasanaa suojaamaan arkki. Olen asettanut salasanaksi ”Excel @ 1234”, joten annan salasanan samalla tavalla.

Tämä suojaa laskentataulukkoa, jonka nimi on ”Myyntitiedot”.

Koodi:

 Sub Unpretect_Example1 () Dim Ws kuten laskentataulukko Ws = laskentataulukot ("Myyntitiedot") Ws.Suojaa salasana: = "Excel @ 1234" End Sub 

Jos salasanaa ei ole, meidän on vain käytettävä menetelmää "Poista suojaus" ja ohittaa "Salasana" -parametri.

Koodi:

 Sub Unpretect_Example1 () Dim Ws kuten laskentataulukko Ws = laskentataulukot ("Myyntitiedot") 'Muuta laskentataulukon nimeä vaatimuksesi Ws.Unprotect' Jos salasanaa ei ole, välitä vain "UnProtect" -menetelmä End Sub 

Jos salasanaa on, meidän on annettava salasana lainausmerkeissä. Salasana eroaa kirjainkokoista, joten muista ne huolellisesti.

Esimerkki # 2 - Poista kaikkien Excel-taulukoiden suojaus yhdellä napsautuksella

Olemme nähneet, kuinka tietyn laskentataulukon suojaus voidaan poistaa. Kuvittele, että sinulla on monia laskentataulukoita ja kaikki laskentataulukot on suojattu samalla salasanalla, emmekä voi kirjoittaa koodeja jokaiselle laskentataulukolle erikseen.

Näissä tapauksissa meidän on käytettävä silmukoita siirtymään taulukkobjektikokoelman läpi ja poistamaan niiden suojaus helposti.

Alla oleva koodi silmukkaa kaikki laskentataulukot läpi ja poistaa arkin suojauksen.

Koodi:

Sub Unpretect_Example2 () Himmennä Ws laskentataulukoksi ActiveWorkbookin jokaiselle W: lle. Työtasot Ws.Unprotect Password: = "Excel @ 1234" 'Vaihda salasana kuten mainitsit samalla kun suojaat niitä. Seuraava Ws End Sub

Esimerkki # 3 - Erityistilanteet

Tilanne 1: Oletko koskaan kuvitellut, kun toimitettu salasana on väärä. Kun toimitettu salasana on väärä, saamme 1004: Run Time Error.

Näiden virheiden käsittelemiseksi voimme käyttää ”On Error GoTo Label” -vaihtoehtoa. Koodin alapuolella on esimerkki samasta.

Koodi:

Sub Unpretect_Example3 () Himmennä Ws laskentataulukoksi ActiveWorkbookin jokaiselle W: lle. Työarkit virheessä GoTo Errormessage Ws. Unrotect Password: = "Excel @ 1234" 'Vaihda salasana, kuten mainitsit, samalla kun suojaat niitä. Virheilmoitus: MsgBox "Väärä salasana" Next Ws End Sub

Yllä oleva koodi näyttää mukavan viestiruudun, jossa lukee ”Väärä salasana”.

Tilanne 2: Kun arkki on suojattu ilman salasanaa ja jos annat satunnaisen salasanan, se suojaa laskentataulukkoa ilman minkäänlaisia ​​virheitä.

Tilanne 3: Kun arkki on suojattu salasanalla, mutta jos et anna salasanaa, VBA ilmestyy salasanan syöttökenttään salasanan syöttämistä varten.

Yllä olevassa syöttöruudussa meidän on annettava salasanamme suojata laskentataulukko. Jos napsautat Peruuta-painiketta, se poistuu VBA-alimenettelystä näyttämättä mitään, ellei käyttäjän viesti -ruutua ole.


$config[zx-auto] not found$config[zx-overlay] not found