önce sayfa koruması varsa kaldırılacak
If ActiveSheet.ProtectContents = True Then ActiveSheet.Unprotect "Şifre"
_______________o0o______________bütün alanları kilitlemek için gerekli kod:
sheets("SayfaAdı").Cells.Locked = True
_______________o0o______________kullanılan alanları kilitlemek için gerekli kod:
Not: veri olan ilk hücre ile son hücre arasını
sheets("SayfaAdı").UsedRange.Locked = True
_______________o0o______________belirli bir alanın kilidini kaldırma
With Sheets("SayfaAdı")
.Range("B5:Y20").Locked = False 'B5:Y20 arasında birleştirilmiş/merged hücreler yok
.Range("B3").Locked = False 'tek Hücre
.Range("B1:C2").Locked = False 'B1:C2 birleştirilmiş/merged hücre
.Range("halil").Locked = False 'isimlendirilmiş bölge
End With
_______________o0o______________belli bir bölge dışındaki hücrelerinin değişmesini engellemek için gerekli kod:
Not: sayfa koruması olmak zorunda değil, sayfa korumasız olsa da içerik korunur
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("J:J")) Is Nothing Then
Else
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
'diğer komutlar
End Sub
dilerim işinize yarar