VBA apsauginis lapas | Apsaugokite slaptažodžiu „Excel“ lapą naudodami VBA

„Excel VBA“ apsauginis lapas

„Excel“ lapą galime apsaugoti naudodami VBA kodą, kuris neleidžia vartotojui keisti jokių darbalapio duomenų, viskas, ką jie gali padaryti, yra tik perskaityti ataskaitą. Tam mes turime integruotą „vba“ metodą, pavadintą „Apsaugoti“.

Kaip ir „Excel“ apsaugome savo darbalapius, taip pat galime naudoti VBA, kad apsaugotume savo darbalapius, tai daroma naudojant .protect teiginį, yra du būdai apsaugoti lapą: vienas yra su slaptažodžiu, kitas - be slaptažodžio, sintaksė apsaugoti darbalapį yra tokie darbalapiai (). Apsaugokite slaptažodį.

Galutinę galutinę ataskaitą paprastai dalijamės su vartotoju ar skaitytoju. Kai mes dalijamės galutine galutine ataskaita su vartotoju, mes norėtume, kad vartotojas neatliktų jokių pakeitimų ir manipuliavimo galutine ataskaita. Tokiu atveju viskas yra apie pasitikėjimą, ar ne?

Sintaksė

Apsauginis lapas apima įvairius parametrus, kad būtų galima pateikti tai yra kitaip nei lapo neapsaugojimas. Pažvelkime į „Protect“ metodo sintaksę su slaptažodžiu.

Oho!!! Neišsigąskite žiūrėdami į sintaksę. Pažvelkite į kiekvieno argumento paaiškinimą žemiau.

  • Darbalapio pavadinimas: Pirmiausia turime paminėti, kurį darbalapį saugosime.
  • Slaptažodis: turime įvesti slaptažodį, kurį naudojame apsaugoti. Jei ignoruosime šį parametrą, „Excel“ užrakins lapą be slaptažodžio, o neapsaugodamas lapo apsaugos ir neprašydamas slaptažodžio.
  • Pastaba: Prisiminkite duodamą slaptažodį, nes jei pamiršote, turite pereiti įvairius sunkius kelius.
  • Piešimo objektas: Jei norite apsaugoti objektus darbalapyje, galite perduoti argumentą kaip TRUE arba dar neteisingą. Numatytoji vertė yra TRUE.
  • Turinys: Norėdami apsaugoti darbalapio turinį, nustatykite parametrą TRUE arba dar FALSE. Numatytoji vertė yra FALSE. Tai apsaugos tik užrakintas langelius. Numatytoji vertė yra TRUE.
  • Scenarijai: jei „Excel“ scenarijuose yra kokių nors analizių, mes taip pat galime juos apsaugoti. Norėdami apsaugoti TIKRĄ ar dar NETIESĄ. Numatytoji vertė yra TRUE.
  • Tik vartotojo sąsaja: jei norite apsaugoti vartotojo sąsają, išskyrus makrokomandą, ji turėtų būti TIKRA. Jei šis argumentas bus praleistas, jis apsaugos tiek makrokomandas, tiek vartotojo sąsają. Jei nustatysite argumentą TRUE, jis apsaugos tik vartotojo sąsają. Numatytoji vertė yra FALSE.
  • Leisti formuoti langelius: jei norite leisti vartotojui formatuoti langelį, galite nustatyti parametrą TRUE arba FALSE. Numatytoji vertė yra FALSE.
  • Leisti formuoti stulpelius: jei norite leisti vartotojui formatuoti bet kurį saugomo lapo stulpelį, galite nustatyti parametrą TRUE arba FALSE. Numatytoji vertė yra FALSE.
  • Leisti formuoti eilutes: jei norite leisti vartotojui formatuoti bet kurią saugomo lapo eilutę, galite nustatyti parametrą TRUE arba dar FALSE. Numatytoji vertė yra FALSE.
  • Leisti įterpti stulpelius VBA: norite leisti vartotojui įterpti naujus stulpelius, tada turite nustatyti tai į TIESA. Numatytoji vertė yra FALSE.
  • Leisti įterpti eilutes: jei norite leisti vartotojui įterpti naujas eilutes, turite tai nustatyti ties. Numatytoji vertė yra FALSE.
  • Leisti įterpti hipersaitus: jei norite leisti vartotojui įterpti hipersaitus, turite nustatyti tai į TRUE. Numatytoji vertė yra FALSE.
  • Leisti ištrinti stulpelius: jei norite leisti vartotojui ištrinti VBA stulpelius, turite tai nustatyti ties. Numatytoji vertė yra FALSE.
  • Leisti ištrinti eilutes: jei norite leisti vartotojui ištrinti eiles, turite tai nustatyti ties. Numatytoji vertė yra FALSE.
  • Leisti rūšiuoti : jei norite leisti vartotojui rūšiuoti duomenis, turite tai nustatyti ties. Numatytoji vertė yra FALSE.
  • Leisti filtravimą: jei norite leisti vartotojui filtruoti duomenis, turite nustatyti tai į TRUE. Numatytoji vertė yra FALSE.
  • Leisti naudoti „Pivot“ lenteles: Jei norite leisti vartotojui naudoti „Pivot“ lenteles, turite nustatyti tai į „TRUE“. Numatytoji vertė yra FALSE.

Kaip apsaugoti lapą naudojant VBA kodą?

Šį „VBA Protect Sheet Excel“ šabloną galite atsisiųsti čia - „VBA Protect Sheet Excel“ šablonas

1 žingsnis: Pasirinkite „Sheet“, kurį reikia apsaugoti

Norėdami apsaugoti lapą, pirmiausia reikia nuspręsti, kurį lapą turime apsaugoti, naudodami slaptažodį, ir turime paskambinti lapui jo vardu, naudodami „vba Worksheet Object“.

Pavyzdžiui, tarkime, kad norite apsaugoti lapą, pavadintą „Pagrindinis lapas“, tada turite paminėti darbalapio pavadinimą, kaip nurodyta toliau.

2 žingsnis: Apibrėžkite darbalapio kintamąjį

Paminėjus darbalapio pavadinimą įdėkite tašką, bet nematome jokio „IntelliSense“ sąrašo, su kuriuo galėtume dirbti, tai apsunkina darbą. Norėdami gauti prieigą prie „IntelliSense“ sąrašo, kintamasis apibrėžiamas kaip darbalapis.

Kodas:

 Sub Protect_Example1 () Dim Ws kaip darbalapio pabaigos sub 

3 žingsnis: Pateikite darbalapio nuorodą

Dabar nustatykite kintamojo darbalapio nuorodą kaip darbalapius („Pagrindinis lapas“) .

Kodas:

 Sub Protect_Pavyzdys1 () Dim Ws kaip darbalapio rinkinys Ws = darbalapiai ("Pagrindinis lapas") Pabaiga Sub 

Dabar kintamasis „Ws“ turi darbalapio, pavadinto „Pagrindinis lapas“, nuorodą. Naudodami šį kintamąjį galime pasiekti intelektinių duomenų sąrašą.

4 žingsnis: Pasirinkite Apsaugos metodas

Iš „IntelliSense“ sąrašo pasirinkite „Apsaugoti“.

5 žingsnis: Įveskite slaptažodį

Nurodykite slaptažodį dvigubose kabutėse.

Kodas:

 Sub Protect_Pavyzdys1 () Dim Ws kaip darbalapio rinkinys Ws = darbalapiai ("Pagrindinis lapas") Ws.Protect Slaptažodis: = "MyPassword" Pabaiga Sub 

6 veiksmas: paleiskite kodą

Paleiskite kodą rankiniu būdu arba naudodamiesi sparčiuoju klavišu F5, tada jis apsaugos lapą, pavadintą „Pagrindinis lapas“ .

Kai lapas yra apsaugotas, jei mes norime atlikti bet kokius pakeitimus, tada parodomas klaidos pranešimas, kaip parodyta žemiau.

Jei norite apsaugoti daugiau nei vieną lapą, turime naudoti kilpas, žemiau pateikiamas kodo pavyzdys apsaugoti lapą.

 Sub Protect_Pavyzdys2 () „Dim Ws“ kaip kiekvieno „ActiveWorkbook“ darbo lapo darbalapis. Darbo lapai „Ws.Protect“ slaptažodis: = "Mano slaptažodis0" Kitas darbo pabaigos pabaiga 

Pastaba: eksperimentuodami naudokite kitus parametrus.


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