كيفية حماية الخلايا بناءً على التاريخ في إكسيل؟
عادة ، يمكننا حماية ورقة العمل لمنع الآخرين من تحرير أو تعديل قيم الخلية ، ولكن في بعض الأحيان ، تحتاج إلى حماية الخلايا بناءً على التاريخ. على سبيل المثال ، أريد حماية الخلايا الأخرى مع السماح بتعديل قيم الخلايا الخاصة بتاريخ اليوم فقط كما هو موضح في لقطة الشاشة التالية ، ستتحدث هذه المقالة عن كيفية حماية الخلايا بناءً على التاريخ.
قم بحماية جميع الصفوف باستثناء صف تاريخ اليوم برمز VBA
قم بحماية جميع الصفوف التي مر التاريخ بها برمز VBA
قم بحماية جميع الصفوف باستثناء صف تاريخ اليوم برمز VBA
السماح فقط بتعديل الصف الذي يساوي تاريخ اليوم ، يمكن أن تساعدك الكود التالي ، يرجى القيام بذلك على النحو التالي:
1. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة التي تريد حماية الخلايا بناءً على التاريخ ، ثم اختر عرض الرمز من قائمة السياق ، في النافذة المنبثقة ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، يرجى نسخ ولصق الكود التالي في الوحدة النمطية الفارغة:
كود فبا: حماية كل الصفوف باستثناء صف تاريخ اليوم:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
ملاحظات: في الكود أعلاه الحرف E هو رأس العمود حيث يقع التاريخ ، "111111"هي كلمة المرور لحماية هذه الورقة. يمكنك تغييرها حسب حاجتك.
2. ثم احفظ وأغلق نافذة الكود هذه.
(1.) إذا نقرت فوق خلايا أخرى خارج صف التاريخ اليوم ، فسيظهر مربع موجه لتذكيرك بأنه لا يمكن تحرير الخلية ، انظر لقطة الشاشة:
(2.) إذا قمت بالنقر فوق وتحرير الصف الذي يساوي تاريخ اليوم ، فسيتم تعديله بنجاح ، انظر الصورة:
قم بحماية جميع الصفوف التي مر التاريخ بها برمز VBA
إذا كنت بحاجة إلى حماية جميع الصفوف التي انقضى التاريخ ، فلا تسمح إلا بتعديل صفوف التاريخ لليوم والمستقبل ، فالرجاء تطبيق رمز فبا التالي:
1. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة التي تريد حماية الخلايا بناءً على التاريخ ، ثم اختر عرض الرمز من قائمة السياق ، في النافذة المنبثقة ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، يرجى نسخ ولصق الكود التالي في الوحدة النمطية الفارغة:
كود فبا: انقضى تاريخ حماية جميع الصفوف:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
ملاحظات: في الكود أعلاه ، الرقم 5 هو رقم العمود حيث يقع التاريخ ، "111111"هي كلمة المرور لحماية هذه الورقة. يمكنك تغييرها حسب حاجتك.
3. ثم احفظ وأغلق نافذة الكود هذه.
(1.) إذا قمت بالنقر فوق تاريخ انتهاء الخلايا ، فسيظهر مربع موجه لتذكيرك بأنه لا يمكن تحرير الخلية ، انظر الصورة:
(2.) إذا قمت بالنقر فوق خلية الصفوف لمحاولة تغيير القيم في تاريخ اليوم أو التاريخ المستقبلي ، فسيتم تعديلها بنجاح ، انظر الصورة:
أفضل أدوات إنتاجية المكتب
عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!