Θέμα: Μορφοποίηση Κλείδωμα διαδοχικών κελιών

Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 14-04-19, 20:19
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Το ζητούμενο θα μπορούσε να γίνει αυτόματα με κώδικα (VBA).

Συγκεκριμένα με την προσθήκη στο συμβάν Open του βιβλίου του παρακάτω κώδικα.

Κώδικας:
Private Sub Workbook_Open()
    Dim rng As Range, i As Long, sh As Worksheet
    
    Const shName As String = "LockCels" 'το όνομα του φύλλου
    Const firstLock As String = "e2"    '1ο ξεκλείδωτο  κελί
    Const n As Long = 5                 'μετατόπιση από ένα ξεκλείδωτο κελί μέχρι το επόμενο
    Const k As Long = 700               'πλήθος γραμμών
    
    Set sh = Worksheets(shName)
    Set rng = sh.Range("e2")
    
    sh.Unprotect
    rng.Resize(k).Locked = True
    
    For i = 1 To k Step n
        rng(i).Locked = False
    Next
    
    sh.Protect

    sh.Activate
End Sub
Στον κώδικα και συγκεκριμένα στις γραμμές που έχουν σχόλια θα πρέπει να γίνουν οι αναγκαίες προσαρμογές.

Δες και το συνημμένο.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm ProtectByN.xlsm (21,2 KB, 7 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη kapetang : 15-04-19 στις 07:00. Αιτία: βελτίωση κώδικα
Απάντηση με παράθεση