Option Explicit Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim cella As Range Dim x As Byte ' Byte, presumendo che i Fogli di lavoro da trattare siano <= 255, altrimenti Integer For x = 1 To Sheets.Count Sheets(x).Unprotect "Oliver" For Each cella In Sheets(x).Range("B13:T136") If Not IsEmpty(cella) Then cella.Locked = True End If Next cella Sheets(x).Protect "Oliver" Next x End Sub