اذهب الي المحتوي
أوفيسنا

حماية مع كود


إذهب إلى أفضل إجابة Solved by طارق محمود,

الردود الموصى بها

  • أفضل إجابة

السلام عليكم

أخي العزيز

أضف سطر لتفادي الخطأ في أول الكود 

On Error Resume Next
أضف بعده سطر لإلغاء الحماية
ActiveSheet.Unprotect
وسطر آخر لتفعيلها مرة أخري في آخر الكود 

ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False

 

سيكون الكود هكذا

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
ActiveSheet.Unprotect


     If Not Intersect(Target, Range("b1:b60000")) Is Nothing Then
      VBA.Calendar = vbCalGreg
      If IsEmpty(Target) Then
        Target(1, 2).Offset(0, -2).ClearContents
    Else
         With Target(1, 2).Offset(0, -2)
               .Value = Date
               .EntireColumn.AutoFit
           End With
       End If
End If
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
End Sub
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information