VBA apsauginis lapas - Apsaugokite „Excel“ lapą slaptažodžiu 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 slaptažodis, o kitas - be slaptažodžio, apsaugoti sintaksę darbalapis yra toks Darbalapiai (). Apsaugokite slaptažodį.

Galutinę galutinę ataskaitą paprastai dalijamės su vartotoju ar skaitytoju. Kai mes dalijamės galutine galutine ataskaita su vartotoju, mes norime, kad vartotojas neatliktų jokių pakeitimų ar manipuliavimo galutine ataskaita. Pagal tokį scenarijų viskas yra apie pasitikėjimą, ar ne?

Sintaksė

Apsauginis lapas apima įvairius parametrus. Tai skiriasi nuo lapo neapsaugojimo. Pažvelkime į apsaugos būdą su slaptažodžiu sintaksę.

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 mes nepaisysime šio parametro, „Excel“ užrakins lapą be slaptažodžio, o neapsaugodamas lapo apsaugos jis 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 ar dar FALSE. 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 kokia „jei“ analizė, 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 makrokomandas ir vartotojo sąsają. Jei nustatysite argumentą TRUE, jis apsaugos tik vartotojo sąsają. Numatytoji vertė yra FALSE.
  • Leisti langelių formatavimą: 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 dar 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 turėsite tai nustatyti ties. 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 tai nustatyti ties. 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 tai nustatyti ties. Numatytoji vertė yra FALSE.
  • Leisti naudoti „Pivot“ lenteles: jei norite leisti vartotojui naudoti suvestines lenteles, turite nustatyti tai į „TRUE“. Numatytoji vertė yra FALSE.

Kaip apsaugoti lapą naudojant VBA kodą?

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

Norėdami apsaugoti lapą, pirmiausia reikia nuspręsti, kurį lapą turime apsaugoti, naudodami slaptažodį, o lapą turime vadinti jo vardu, naudodami VBA darbalapio objektą.

Pvz., Tarkime, kad norite apsaugoti lapą pavadinimu „Pagrindinis lapas“, tada turite paminėti darbalapio pavadinimą, kaip nurodyta toliau.

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

Paminėję darbalapio pavadinimą, įdėkite tašką, bet nematome jokio „IntelliSense“ sąrašo, su kuriuo galėtumėte dirbti. Tai apsunkina darbą. Norėdami gauti prieigą prie „IntelliSense“ sąrašo, kintamąjį apibrėžia kaip darbalapį.

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 „IntelliSense“ sąrašą.

4 žingsnis: Pasirinkite Apsaugos metodas

„IntelliSense“ sąraše pasirinkite metodą „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 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, skirtas 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.

Įdomios straipsniai...