hücre kilitleme yardım!!!

Katılım
6 Nisan 2017
Mesajlar
78
Excel Vers. ve Dili
2010
iyi günler

örneğin hücre kilitlemesi olmayan A5-K25 hücre aralığında herhangi bir hücreye değer girilmesi halinde sayfayı otomatik kilileyen makro yardımına ihtiyacım var.

konu hakkında bilgisi olan var mı???
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
"Sayfayı otomatik kilitleyen" demekle "Sayfa Koruması " olmasını istiyorsanız;
VBA editor sayfasında sayfa koduna aşağıdaki kodu uygulayıp deneyin.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A5:K25")) Is Nothing Then
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
End If
End Sub
 
Katılım
22 Mayıs 2011
Mesajlar
21
Excel Vers. ve Dili
Microsoft Office 365
Altın Üyelik Bitiş Tarihi
06/06/2023
Sayfanın kod kısmına
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A5:K25")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
MsgBox "Cell " & Target.Address & " has changed."
Call lck
End If
End Sub


Herhengi bir modüle
Sub lck()
Worksheets("Sayfa2").Protect Password:="aaaa"
End Sub

Sub unlck()
Worksheets("Sayfa2").Unprotect Password:="aaaaa"
End Sub
 
Katılım
6 Nisan 2017
Mesajlar
78
Excel Vers. ve Dili
2010
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("J5:DE517")) Is Nothing Then
ActiveSheet.Protect "12345"
End If
End Sub



İlginiz için teşekkür ederim yukarıda yazdığım kısım işimi gördü ancak ufak bir aksaklıkla karşılaştım bunu nasıl çözeriz.

Hücre aktif olup herhangi bir değer girilmediğinde sayfa koruması devre dışı kalıyor. Yani belirtilen aralıktaki hücrelerden birine çift tıklanıp imleç yanıp söner hale geldiğinde hiç bir değer girilmediğinde sayfa korumasından çıkıyor.

İstediğim tam olarak J5 ile DE517 aralığındaki herhangi bir hücreye müdahale edildiğinde yada tıklandığında sayfa koruma aktifleştirilsin istiyorum.
 
Katılım
6 Nisan 2017
Mesajlar
78
Excel Vers. ve Dili
2010
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:ZZ11111")) Is Nothing Then
ActiveSheet.Protect "12345"
End If
End Sub


SANIRIM ÇÖZÜLDÜ HERKESE TESEKKÜRLER
 
Üst