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

Sisällysluettelo

Excel VBA Suojaa arkki

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

Esimerkkejä

Esimerkki 1

Arkin suojaamaton suojaaminen 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 poistaa suojauksen nimeltään ”Myyntitiedot”, VBA-koodisi tulisi olla tällainen.

Taulukot ("Myyntitiedot")

Avaa sitten Suojaa-menetelmä.

Kuten näemme 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 laskentataulukon nimeltä "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 () Himmennä Ws taulukkosarjana Ws = laskentataulukot ("Myyntitiedot") 'Vaihda laskentataulukon nimeä vaatimuksesi Ws.Unprotect' Jos salasanaa ei ole, välitä vain "Poista suojaus" -menetelmä Loppu ali

Jos salasanaa on, meidän on annettava salasana lainausmerkeissä. Salasanassa käytetään isoja ja pieniä kirjaimia, 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 useita 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 -virheen.

Näiden virheiden käsittelemiseksi voimme käyttää ”On Error GoTo Label” -vaihtoehtoa. Alla oleva koodi on esimerkki samasta.

Koodi:

Sub Unpretect_Example3 () Himmennä Ws laskentataulukoksi ActiveWorkbookin jokaiselle W: lle. Työkirjat päällä virhe GoTo virheilmoitus Ws. Poista salasanan suojaus: = "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 mitään virheitä.

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

Yllä olevassa syöttökentässä 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.

Mielenkiintoisia artikkeleita...