اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

عدم السماح للمستخدم بتعديل ائ بيانات مرفق البرنامج


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

بسم الله الرحمن الرحيم

بعد التحية

المطلوب ان شاء الله

ععدم السماح للمستخدم بتعديل ائ بيانات بعد انتهاء اليوم

ولكم جزيل الشكر والتقدير عدم السماح للمستخدم بتعديل ائ بيانات.rar دم السماح للمستخدم بتعديل ائ بيانات 

عدم السماح للمستخدم بتعديل ائ بيانات.rar

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

الأستاذ طارق  ليك الحق تقول up   up    بس ما فكرتش ليه  لحد دلوقتى مفيش ردود ؟!

المهم جرب الكود ده  ومتنساش ان حماية الملفات قاصرة  وأى ناشئ اكسل يدوب لسه بيعرف اكسل يقدر يفقع لك الملف :biggrin:

الكود يوضع فى حدث الورقة

من خلال هذا الكود  تستطيع تعديل البيانات فى النطاقين ("B7:B106,F7:F106")  اذا كان التاريخ فى النطاقين ("C7:C106,G7:G106")  أكبر أو يساوى تاريخ اليوم

واذا كان  التاريخ فى النطاقين ("C7:C106,G7:G106")  أقل من  تاريخ اليوم  لن تستطيع التعديل بالا بادخال الرقم السرى الموجود بالكود  123

Private Sub Worksheet_Change(ByVal Target As Range)

' Protect Range from change After specific Date
' By Mokhtar 8/10/2015
Dim pwd As String: pwd = 123

If Not Application.Intersect(Target, Range("B7:B106,F7:F106")) Is Nothing Then
   If Target.Offset(, 1).Value < CVDate(Date) Then
       If Application.InputBox("برجاءإدخال كلمةالمرور لتعديل البيانات", "تصريح تعديل بيانات", "***") <> pwd Then
           Application.EnableEvents = False
           Application.Undo
           Application.EnableEvents = True
           MsgBox "عفواً... ليس لديكم الصلاحية لتعديل البيانات"
           Else
           Exit Sub
       End If
   End If
End If

End Sub


 

تحياتى

 

عدم السماح للمستخدم بتعديل ائ بيانات 2 .rar

  • Like 2
رابط هذا التعليق
شارك

شكرا على المجهود الرائع ...ممكن شرح الكود

If Target.Offset(, 1).Value < CVDate(Date) Then

وخاصة الكود المضلل باللون الاحمر وكيف اذا اردنا خلية معينة مثلا A1 لتكون فيها التاريخ الحالي 

رابط هذا التعليق
شارك

أخى مهند السلام عليكم 

برجاء تغيير اسم الظهور لديك الى اللغة العربية لسهولة التواصل

الشرح :

If Not Application.Intersect(Target, Range("B7:B106,F7:F106")) Is Nothing Then
   If Target.Offset(, 1).Value < CVDate(Date) Then

اذا تم تحديد أى خلية فى النطاقين  B7: B106  و  F7: F106

وكانت قيمة الخلية  اللى جنب الخلية المحددة أقل من تاريخ اليوم  فإن ...........

يعنى مثلا لو كانت الخلية المحددة هى B7  بنشرط شرط وهو أن الخلية اللى جنبها وهى C7 لو التاريخ فيها أقل من تاريخ اليوم  فتحدث الحماية

واذا لم يتحقق الشرط فان الاكسل يتراجع عن التعديل بالجملة    Application.undo طالما أن التاريخ فى C7  أقل من تاريخ اليوم  و التعديل لا يكون الا بكلمة السر 123

هتسألنى ازاى أحدد الخلية اللى جنب خلية أخرى  :  A1  مثلا   الخلية التى جنبها  B1  

  ازاى  نكتب B1 من غير ما نجيب سيرتها فى الكود   :  

Range("A1").OFFSET(0,1)

الجملة دى = B1    , ومعناها  ازاحة  بمقدار عمود واحد وبدون تغير فى عدد الصفوف     للزيادة  ابحث عن OFFSET  

  • Like 3
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information