trešdiena, 2012. gada 7. marts

Automātiskā šūnu pasargāšana


Problēma: Daloties ar Excel failu, negribas dalīties ar formulām, ko pats lieto šajā failā. Var vienkārši pasargāt formulas, un neļaut tās apskatīt, bet ko darīt, ja gribas lai Excel’s automātiski pasargā visas tikko ievietotās formulas?  
Risinājums: Izveidot vienkāršu makrosu, kas pats noteiks ievadītās formulas un tās pasargās.

Realizācija:
Pasargāt dažādus Excel darba lapas objektus (šūnas) nav sarežģīti. Tam mums kalpo izvēlnes Review rīkjosla Changes.
Kur slēpjas pasargāsanas iespējas
Bet, lai pasargātu tikai šūnas ar formulām, ir mazliet jāpadomā.
Pirmkārt- kādas šūnas tiek pasargātas? Pēc noklusējuma tiek pasargātas visas šūnas, Excel’ī to sauc par Lock Cells. Uz to vai šūna var būt pasargāta, vai ne norāda ķeksītis logā Format Cells>Protection>Locked
Format Cells logs ar drošības iestātījumiem
vai izvēlnes Home rīkjoslā Cells>Format>Lock Cell

Home izvēlnes drošības iestātījumi
Visas šūnas, kurām ir aktīva iespēja Lock Cell, var būt pasargātas. Šūnas, kurām ir izslēgta iespēja Lock Cell, pasargāt nevar. Pieņemsim, ka mums ir tabula ar datiem. Un mēs gribam liegt lietotājam iespēju rediģēt/apskatīt formulas, kas tiek izmantotas tabulā.
Tabula ar datiem
Mūsu piemērā formulas atrodas kolonā E. Pirmkārt pasargāsim jau esošās formulas. Lai to izdarītu:
·         noņemsim Lock Cells visām šūnām;
·         Piešķirsim Lock Cells tikai šūnām ar formulām;
·         Pasargāsim izvēlētās šūnas.
Lai noņemtu Lock Cell iezīmēsim visas darba lapas šūnas ar Ctrl+A. Tad ar Format Cell vai Home>Cells>Format noņemsim Lock Cells.
Izvēlāmies tikai šūnas ar formulām. To var izdarīt pašam, turot taustiņi Ctrl un klikšķinot uz vajadzīgām šūnām. Vai izmantot iespēju F5>Special>Formulas! Kad vajadzīgās šūnas ir izvēlētas,  piešķiram tiem Lock Cells (skatīt šeit).
Pasargāsim izvēlētās šūnas ar Home>Cells>Format>Protect Sheet...
Darba lapas pasargāšana
Parādās logs Protect Sheet, kas piedāvā izvēlēties atļautās darbības. Atļausim visu, izņemot pasargāto šūnu aktivizēšanu. Var arī ierakstīt paroli, ja tas ir nepieciešams. Es lietošu paroli „12345”.

Drošības iestātījumi un parole
Pēc paroles atkārtošanas, lapa tiek pasargāta. Vari pārliecināties, ka nav iespējams ieklikšķināt šūnās ar formulām.
Puse darba esam padarījuši. Ejam tālāk.
Automātiskā formulu pasargāšana.
Nospiedīsim taustiņu kombināciju Alt+F11. Parādās VBE logs ar mūsu faila struktūru.
VBE logs
Manā piemērā tabuliņa ar datiem atrodas trešā darba lapā, līdz ar to es izvēlos Sheet3 (Sheet3) un divreiz nospiežu uz tā. Pa labi parādās balta ekrāna lapa (Code window). Tur ievadam šādas divas programmiņas:

Private Sub Worksheet_Calculate()
If ActiveCell.HasFormula Then
    ActiveSheet.Unprotect Password:="12345"
        Selection.Locked = True
    ActiveSheet.Protect Password:="12345"
    ActiveCell.Offset(1, 0).Select
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.HasFormula Then
    ActiveSheet.Unprotect Password:="12345"
        Target.Select
        Selection.Locked = True
    ActiveSheet.Protect Password:="12345"
    Target.Offset(1, 0).Select
End If
End Sub

Aizveram VBE logu un atgriežamies Excel darba lapā. Pierakstām klāt jaunas vērtības. Excel automātiski nosaka šūnas ar formulām un pasargā tās.

  

Nav komentāru:

Ierakstīt komentāru