Καλημέρα
Μια πρόταση,
χωρίς κουμπιά είναι η εξής:
Υποθέτουμε, ότι έχουμε ένα βιβλίο, με πρώτο (βασικό) φύλλο το MainSheet.
Ακόμα, θεωρούμε ότι σε όλα τα υπόλοιπα φύλλα, έχει γίνει
σωστά
το κλείδωμα κάποιων κελιών, με την γνωστή διαδικασία.
Το κλείδωμα είναι,
χωρίς κωδικό και
επιτρέπει μόνο την επιλογή, μη κλειδωμένων κελιών...
Στα συμβάντα βιβλίου, βάζουμε, τους δύο πιο κάτω κώδικες:
Κώδικας:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim WS As Worksheet
If ActiveSheet.Name <> "MainSheet" Then
ActiveSheet.Unprotect
Select Case MsgBox("Η προστασία έχει καταργηθεί." & vbLf _
& "Θέλετε να την επαναφέρετε;", vbYesNo, "Ερώτηση...")
Case vbYes
ActiveSheet.Protect
Case vbNo
Exit Sub
End Select
End If
End Sub
Κώδικας:
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim WS As Worksheet
If ActiveSheet.Name <> "MainSheet" Then
ActiveSheet.Protect
End If
End Sub
Τι κάνει:
Κάθε φορά που θα «μπαίνουμε» σε ένα οποιοδήποτε φύλλο, πλήν του MainSheet,
μας ρωτάει αν θέλουμε να καταργήσουμε την προστασία...
Πατάμε το ανάλογο κουμπί Yes - No
Όταν «βγούμε» από το φύλλο, η προστασία επανέρχεται, αυτόματα...
Σημειώσεις:
1
Αλλάξτε το όνομα MainSheet, με ό,τι θέλετε...
2
Το MainSheet, δεν είναι απαραίτητο, να είναι το πρώτο φύλλο, του βιβλίου...