كيفية حماية الخلايا بناءً على التاريخ في Excel؟
عادةً، يمكننا حماية ورقة العمل لمنع الآخرين من تحرير أو تعديل قيم الخلايا، ولكن في بعض الأحيان، قد تحتاج إلى حماية الخلايا بناءً على التاريخ. على سبيل المثال، أريد حماية باقي الخلايا والسماح فقط بتعديل قيم خلايا تاريخ اليوم كما هو موضح في لقطة الشاشة التالية. ستناقش هذه المقالة كيفية حماية الخلايا بناءً على التاريخ.
حماية جميع الصفوف باستثناء صف تاريخ اليوم باستخدام كود VBA
حماية جميع الصفوف التي مر عليها التاريخ باستخدام كود VBA
حماية جميع الصفوف باستثناء صف تاريخ اليوم باستخدام كود VBA
للسماح فقط بتعديل الصف الذي يساوي تاريخ اليوم، يمكن أن يساعدك الكود التالي، يرجى القيام بما يلي:
1. انقر بزر الماوس الأيمن على تبويب الورقة التي تريد حماية الخلايا فيها بناءً على التاريخ، ثم اختر عرض الكود من قائمة السياق. في نافذة Microsoft Visual Basic for Applications المنبثقة، يرجى نسخ ولصق الكود التالي في الوحدة الفارغة:
كود VBA: حماية جميع الصفوف باستثناء صف تاريخ اليوم:
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.) إذا نقرت وقمت بتحرير الصف الذي يساوي تاريخ اليوم، سيتم التعديل بنجاح، انظر لقطة الشاشة:

اكتشف سحر Excel مع Kutools AI
- التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
- الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
- برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
- تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
- ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
حماية جميع الصفوف التي مر عليها التاريخ باستخدام كود VBA
إذا كنت بحاجة إلى حماية جميع الصفوف التي مر عليها التاريخ والسماح فقط بتعديل صفوف تاريخ اليوم والتواريخ المستقبلية، يرجى تطبيق الكود التالي لـ VBA:
1. انقر بزر الماوس الأيمن على تبويب الورقة التي تريد حماية الخلايا فيها بناءً على التاريخ، ثم اختر عرض الكود من قائمة السياق. في نافذة Microsoft Visual Basic for Applications المنبثقة، يرجى نسخ ولصق الكود التالي في الوحدة الفارغة:
كود VBA: حماية جميع الصفوف التي مر عليها التاريخ:
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 لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!