Telefonszámunk: 1-472-0679

Kezdőlap Fórumok Excel témák Jogosultságok kezelése Hozzászólás: Jogosultságok kezelése

#5811

delila
Felhasználó

Kiegészítettem a makrót azzal, hogy ha a saját jelszavaddal lépsz be, minden lap látható legyen, és a lapvédelmet is levettem róluk.

Private Sub Workbook_Open()
    Dim lap As Integer, jelszo As String
    
    For lap = 2 To Sheets.Count 'lapok láthatóságának megszüntetése, védelme
        Sheets(lap).Protect Password:="SzuperTitkosJelszo"
        Sheets(lap).Visible = xlSheetVeryHidden
    Next
    
    'Jelszó bekérése
    jelszo = Application.InputBox("Kérem a jelszót", "Jelszó bekérése", , , , , , Type:=2)
    
    'Saját jelszavad esetén minden lap láthatóvá tétele, zárolás megszüntetése
    If jelszo = "Saját_jelszavam" Then
        For lap = 2 To Sheets.Count 'lapok láthatóvá tétele, védelem megszüntetése
            Sheets(lap).Unprotect Password:="SzuperTitkosJelszo"
            Sheets(lap).Visible = xlSheetVisible
        Next
    Else  'A jelszóhoz kötött munkalap meghatározása
        Select Case jelszo
            Case "jelszo_1": lap = 2
            Case "jelszo_2": lap = 3
            Case "jelszo_3": lap = 4
            Case "jelszo_4": lap = 5
            Case "jelszo_5": lap = 6
            Case "jelszo_6": lap = 7
            Case "jelszo_7": lap = 8
        End Select
        Sheets(lap).Visible = xlSheetVisible    'Az adott lap láthatóvá tétele
    End If
End Sub