Dim tt As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("PRot_range")) Is Nothing And Target.Address <> "$A$1" Then
m = Target.Count
c = [AA1]
k = tt
If IsEmpty(k) Then GoTo 1
If m * c >= 1 Then
Application.EnableEvents = False
my_pass = Application.InputBox(" لا يمكن التعديل في هذه الخلية.... " _
& Chr(10) & "الا بحالات خاصة تتطلب كلمة مرور", "password")
If my_pass = "pass" Then GoTo 1
Application.Undo
Application.EnableEvents = True
End If
End If
1:
Application.EnableEvents = True
End Sub
_____________________________________________________________________
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
tt = Selection.Value
End Sub
السلام عليكم
يقول الاستاذ سليم بارك الله فيه
كي توقف عمل الكود و يعود كل شيء الى طبيعته امسح محتويات الخلية AA1 (غير مرئية)
لإعادة عمل الكود اكتب في الخلية AA1 الرقم 1
اذا أردت تغيير قيمة خلية غير فارغة سوف يطلب منك كلمة المرور أكتب pass
كل ذلك في المدي من A1الى Z225
والسؤال كيف يمكن تغيير مدى الحماية فلم اجد في الكود a1 الى z225
وهل ممكن ان يوجد اكثر من مدى للحماية مثلا من a1 الى d10 ومن a15 الى d25