السلام عليكم ورحمة الله وبركاته
أقدم لكم طريقة تستطيع بها أن تحمي الخلايا بعد عملية الإدخال للخلايا ، أي أنه تتم عملية الإدخال وبعدها تتم الحماية للخلية التي تم التعديل فيها.
بفرض أن لديك العمود F وتريد أن تقوم بحماية الخلايا بعد عملية الإدخال للأرقام فقط ، أي أنك تريد السماح بإدخال أي نوع من أنواع البيانات بدون إغلاق الخلايا ، أما إذا كان البيان المدخل رقم تتم عملية إغلاق وحماية الخلية بعد الإدخال.
خطوات العمل : قم بتحديد كافة خلايا ورقة العمل من المنطقة المشتركة بين الصفوف والأعمدة
كليك يمين على الخلايا ثم اختر الأمر تنسيق خلايا Format Cells واذهب للتبويب Protection وأزل علامة الصح أو أي علامة داخل مربع الخيار Locked ، وهذا لفك حماية كافة خلايا ورقة العمل قبل وضع الكود.
وأخيراً قم بوضع الكود التالي في حدث ورقة العمل ، كليك يمين على اسم ورقة العمل ثم اختر View Code ثم الصق الكود
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim Cel As Object
Set Rng = Range("F" & Target.Row & ":F" & Target.Row)
For Each Cel In Rng
If Cel.Value = vbNullString Or Not IsNumeric(Cel) Then Exit Sub
Next Cel
Sheets("Sheet1").Unprotect
Rng.Locked = True
Sheets("Sheet1").Protect
End Sub
إعداد / ياسر خليل أبو البراء
بارك الله لك وجعله فى ميزان حسناتك
ردحذفجزاكم الله خيراً أخي الكريم أحمد على دعائك المبارك
ردحذفبارك الله فيك إستاذ
ردحذفبوركت أخي الكريم ومشكور على مرورك العطر
ردحذفيظهر معاي خطأ في السطر
ردحذفRng.Locked = True
ما نسخة الأوفيس التي لديك؟
ردحذفقم بتنفيذ الخطوات بالضبط كما هي موضحة بالموضوع أو قم بتحميل المرفق وجربه ، وإذا ظهر خطأ يرجى إرفاق صورة للخطأ
عاوز اخلى اغلاق الخلايا يكون بعد تاريخ محدد
ردحذف