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