إجمالي مرات مشاهدة الصفحة

الاثنين، 9 مايو 2016

إغلاق وحماية الخلايا في نطاق محدد بعد الإدخال Locking Cells After Input

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

أقدم لكم طريقة تستطيع بها أن تحمي الخلايا بعد عملية الإدخال للخلايا ، أي أنه تتم عملية الإدخال وبعدها تتم الحماية للخلية التي تم التعديل فيها.

بفرض أن لديك العمود 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

إعداد / ياسر خليل أبو البراء

هناك 7 تعليقات:

  1. بارك الله لك وجعله فى ميزان حسناتك

    ردحذف
  2. جزاكم الله خيراً أخي الكريم أحمد على دعائك المبارك

    ردحذف
  3. بارك الله فيك إستاذ

    ردحذف
  4. بوركت أخي الكريم ومشكور على مرورك العطر

    ردحذف
  5. يظهر معاي خطأ في السطر

    Rng.Locked = True

    ردحذف
  6. ما نسخة الأوفيس التي لديك؟
    قم بتنفيذ الخطوات بالضبط كما هي موضحة بالموضوع أو قم بتحميل المرفق وجربه ، وإذا ظهر خطأ يرجى إرفاق صورة للخطأ

    ردحذف
  7. عاوز اخلى اغلاق الخلايا يكون بعد تاريخ محدد

    ردحذف