Attribute VB_Name = "Module1" Private Sub TyokirjanSuojaus(ByVal Lukkoon As Boolean) If Lukkoon Then ThisWorkbook.Protect Else ThisWorkbook.Unprotect End If End Sub Public Sub KaikkienTaulukkosivujenSuojaus(ByVal Lukkoon As Boolean) 'Koodissa silmukoidaan kaikki työkirjan taulukkosivut (silmukka riveillä 4-10). 'Jos sivut on pyydetty lukkoon, lukitseminen tehdään rivillä 6. 'Jos sivut on pyydetty auki, lukitus poistetaan rivillä 8. 'Kun lukitus ei ole päällä, taulukkosivun solukohtaisia suojausasetuksia pääsee käsittelemään. Dim Lp As Long Dim TSKpl As Long TSKpl = ThisWorkbook.Sheets.Count For Lp = 1 To TSKpl If Lukkoon Then Worksheets(Lp).Protect Else Worksheets(Lp).Unprotect End If Next Lp End Sub Private Sub LukitseSolut(ByVal AlRivi As Long, ByVal LopRivi As Long, ByVal AlSarake As Long, ByVal LopSarake As Long, ByVal Lukkoon As Boolean) ActiveSheet.Range(Cells(AlRivi, AlSarake), Cells(LopRivi, LopSarake)).Locked = Lukkoon End Sub Private Sub SolualueenSuojaus() Call LukitseSolut(1, ActiveSheet.Rows.Count, 1, ActiveSheet.Columns.Count, True) Call LukitseSolut(1, 1, 2, 2, False) 'B1 Call LukitseSolut(3, 5, 2, 8, False) 'B3:H5 End Sub Sub LukituksetMain() TyokirjanSuojaus False KaikkienTaulukkosivujenSuojaus False Worksheets("Data").Select Call SolualueenSuojaus KaikkienTaulukkosivujenSuojaus True TyokirjanSuojaus True End Sub