VBA Protect Sheet | Suojaa salasanalla Excel-taulukko VBA: lla
Excel VBA -suojakalvo
Voimme suojata Excel-taulukon käyttämällä vba-koodia, joka ei salli käyttäjän tehdä muutoksia laskentataulukon tietoihin, kaikki mitä he voivat tehdä, on vain lukea raportti. Tätä varten meillä on sisäänrakennettu vba-menetelmä nimeltä "Protect".
Kuten me suojaamme laskentataulukojamme excelissä, samoin voimme käyttää VBA: ta suojaamaan laskentataulukojamme, se tehdään käyttämällä .protect-käskyä, on kaksi tapaa suojata arkki: yksi on salasanalla ja toinen on ilman salasanaa on seuraava taulukko (). Suojaa salasana.
Jaamme lopullisen loppuraportin yleensä käyttäjän tai lukijan kanssa. Kun jaamme lopullisen loppuraportin käyttäjän kanssa, toivomme, että käyttäjä ei tee mitään muutoksia tai manipuloi loppuraporttia. Tällaisessa tilanteessa kyse on luottamuksesta, eikö olekin?
Syntaksi
Arkin suojaamiseen liittyy useita parametreja tämän toimittamiseksi, toisin kuin arkin suojaamattomuus. Katsotaanpa Protect-menetelmän syntaksia salasanalla.
Vau!!! Älä pelkää katsomalla syntaksia. Katsokaa kunkin argumentin selitystä alla.
- Taulukon nimi: Ensin on mainittava, mitä laskentataulukkoa aiomme suojata.
- Salasana: Meidän on annettava salasana, jota käytämme suojaamiseen. Jos ohitamme tämän parametrin, excel lukitsee arkin ilman salasanaa ja suojaamatta sitä, vaikka sitä ei suojata, se suojautuu pyytämättä mitään salasanaa.
- Huomaa: Muista antamasi salasana, koska jos unohdit, sinun on käytävä läpi useita vaikeita tapoja.
- Piirustusobjekti: Jos haluat suojata laskentataulukon objekteja, voit välittää argumentin TOSI tai muuten EPÄTOSI. Oletusarvo on TOSI.
- Sisältö: Suojaa laskentataulukon sisältö asettamalla parametriksi TOSI tai muuten EPÄTOSI. Oletusarvo on FALSE. Tämä suojaa vain lukittuja soluja. Oletusarvo on TOSI.
- Skenaariot: Jos excel-skenaarioissa on mitä-jos-analyysejä, voimme myös suojata niitä. Suojaa TOSI tai muuten EPÄTOSI. Oletusarvo on TOSI.
- Vain käyttöliittymä: Jos haluat suojata muun käyttöliittymän kuin makron, sen pitäisi olla TOSI. Jos tämä argumentti jätetään pois, se suojaa sekä makroja että käyttöliittymää. Jos asetat argumentiksi TOSI, se suojaa vain käyttöliittymää. Oletusarvo on FALSE.
- Salli solujen muotoilu: Jos haluat antaa käyttäjän muotoilla solun, voit asettaa parametriksi TOSI tai muuten EPÄTOSI. Oletusarvo on FALSE.
- Salli sarakkeiden muotoilu: Jos haluat antaa käyttäjän muotoilla minkä tahansa suojatun taulukon sarakkeen, voit asettaa parametriksi TOSI tai muuten EPÄTOSI. Oletusarvo on FALSE.
- Salli muotoilurivit: Jos haluat antaa käyttäjän muotoilla minkä tahansa suojatun taulukon rivejä, voit asettaa parametriksi TOSI tai muuten EPÄTOSI. Oletusarvo on FALSE.
- Salli lisätä sarakkeita VBA: ssa: haluat antaa käyttäjän lisätä uusia sarakkeita, sinun on sitten asetettava tosi. Oletusarvo on FALSE.
- Salli lisäysrivit: Jos haluat antaa käyttäjän lisätä uusia rivejä, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli hyperlinkkien lisääminen : Jos haluat sallia käyttäjän lisätä hyperlinkkejä, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli sarakkeiden poistaminen: Jos haluat sallia käyttäjän poistaa sarakkeita VBA: ssa, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli rivien poistaminen: Jos haluat sallia käyttäjän poistaa rivejä, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli lajittelu: Jos haluat antaa käyttäjän lajitella tiedot, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli suodatus: Jos haluat antaa käyttäjän suodattaa tiedot, sinun on määritettävä tämä arvoksi TOSI. Oletusarvo on FALSE.
- Salli pivot-taulukoiden käyttö: Jos haluat antaa käyttäjän käyttää pivot-taulukoita, sinun on asetettava tämä arvoksi TOSI. Oletusarvo on FALSE.
Kuinka suojata arkki VBA-koodilla?
Voit ladata tämän VBA Protect Sheet Excel -mallin täältä - VBA Protect Sheet Excel -malliVaihe 1: Valitse suojattava arkki
Arkin suojaamiseksi ensimmäinen askel on päättää, mikä arkki on suojattava salasanalla, ja meidän on kutsuttava arkki sen nimellä käyttämällä vba Worksheet Object -ohjelmaa.
Oletetaan esimerkiksi, että haluat suojata arkin nimeltä ”Master Sheet”, sinun on mainittava taulukon nimi kuten alla.
Vaihe 2: Määritä laskentataulukon muuttuja
Kun olet maininnut laskentataulukon nimen, laita piste, mutta emme näe IntelliSense-luetteloa työskennellä, tämä vaikeuttaa työtä. Pääsy IntelliSense-luetteloon määrittää muuttujan laskentataulukoksi.
Koodi:
Sub Protect_Example1 () Dim Ws laskentataulukon lopussa Sub
Vaihe 3: Anna taulukkoviite
Aseta nyt muuttujan laskentataulukon viittaus laskentataulukoiksi ("Master Sheet") .
Koodi:
Sub Protect_Example1 () Himmennä Ws taulukkosarjana Ws = laskentataulukot ("Master Sheet") End Sub
Muuttuja "Ws" pitää nyt taulukon viitteenä nimeltään "Master Sheet". Käyttämällä tätä muuttujaa pääsemme intellisense-luetteloon.
Vaihe 4: Valitse Suojaustapa
Valitse Protelli-menetelmä IntelliSense-luettelosta.
Vaihe 5: Syötä salasana
Määritä salasana lainausmerkeissä.
Koodi:
Sub Protect_Example1 () Himmennä Ws taulukkosarjana Ws = laskentataulukot ("Master Sheet") Ws.Protect Password: = "MyPassword" End Sub
Vaihe 6: Suorita koodi
Suorita koodi manuaalisesti tai pikanäppäimellä F5, jolloin se suojaa arkkia, jonka nimi on ”Master Sheet” .
Kun arkki on suojattu, jos haluamme tehdä muutoksia, se näyttää jonkin virheilmoituksen alla olevan kuvan mukaisesti.
Jos haluat suojata useampaa kuin yhtä arkkia, meidän on käytettävä silmukoita, alla on esimerkkikoodi arkin suojaamiseksi.
Sub Protect_Example2 () Himmennä Ws laskentataulukoksi kullekin ActiveWorkbookin W: lle. Työarkit Ws.Protect Password: = "My Passw0rd" Seuraava Ws End Sub
Huomaa: Käytä muita parametreja kokeiluun.