Note: The other languages of the website are Google-translated. Back to English

كيفية قفل أو حماية الخلايا بعد إدخال البيانات أو إدخالها في Excel؟

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

قفل الخلايا أو حمايتها بعد إدخال البيانات أو الإدخال باستخدام رمز VBA


قفل الخلايا أو حمايتها بعد إدخال البيانات أو الإدخال باستخدام رمز VBA

على سبيل المثال ، نطاق معين من الخلايا الفارغة هو A1: F8. يرجى القيام بما يلي لقفل هذه الخلايا بعد إدخال البيانات في Excel.

1. يرجى إلغاء قفل هذا النطاق أولاً ، وتحديد الخلايا والنقر بزر الماوس الأيمن ، ثم اختيار تنسيق الخلايا في قائمة النقر بزر الماوس الأيمن ، وفي ملف تنسيق الخلايا مربع الحوار ، وإلغاء تحديد مقفل مربع تحت الحماية علامة التبويب ، وأخيرًا النقر فوق OK زر. انظر لقطة الشاشة:

2. انقر التقيم > حماية ورقة. وحدد كلمة مرور لحماية ورقة العمل هذه.

3. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة ، وحدد عرض الرمز من قائمة النقر بزر الماوس الأيمن. ثم انسخ والصق رمز فبا أدناه في نافذة الكود. انظر لقطة الشاشة:

رمز فبا: قفل الخلايا أو حمايتها بعد إدخال البيانات أو إدخالها

Dim mRg As Range
Dim mStr As String

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
    mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Intersect(Range("A1:F8"), Target)
    If xRg Is Nothing Then Exit Sub
    Target.Worksheet.Unprotect Password:="123"
    If xRg.Value <> mStr Then xRg.Locked = True
    Target.Worksheet.Protect Password:="123" 
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
     mStr = mRg.Value
End If
End Sub

ملاحظة: في الكود ، "A1: F8" هو النطاق الذي تحتاجه لإدخال البيانات ؛ و "123" هي كلمة مرور ورقة العمل المحمية هذه. الرجاء تغييرها كما تريد.

4. صحافة قديم + Q مفاتيح في نفس الوقت لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

بعد الانتهاء من إدخال البيانات إلى خلايا النطاق A1: F8 ، سيتم قفلها تلقائيًا. وستحصل على مربع حوار موجه إذا حاولت تغيير أي محتوى خلية من هذا النطاق. انظر لقطة الشاشة:


مقالات ذات صلة:


أفضل أدوات إنتاجية المكتب

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (74)
تقييم شنومك من شنومكس · تصنيفات 1
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، لدي جدول بيانات بالنطاق A3: AN219 ، أود حماية هذا النطاق عند اكتمال الإدخال. . الرجاء مساعدتي في هذا الأمر لقد جربت الكود أعلاه ولكنه لا يعمل معي
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا لا يعمل عند إعادة فتح ملف Excel الرجاء المساعدة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
جرب هذا الرمز بدلاً من ذلك: Private Sub Worksheet_Change (ByVal Target As Range) Dim MyRange As Range Set MyRange = Intersect (Range ("A1: D100") ، Target) إذا لم يكن MyRange هو Nothing ثم Sheets ("Sheet1"). إلغاء حماية كلمة المرور: = "hello" MyRange.Locked = True Sheets ("Sheet1"). حماية كلمة المرور: = "hello" End If End Sub وتذكر تغيير النطاق (A1: D100) وكلمة المرور (مرحبًا) وأسماء / أرقام الورقة (الورقة 1) إذا كان لا يتطابق مع ما ورد أعلاه :)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا على الكود. يرجى إعلامي بكيفية قفل الخلايا تلقائيًا (على غرار الخلايا التي أدرجتها) فقط بعد حفظ الملف
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا سيدي ، أواجه مشكلة واحدة بنفس الرمز أثناء استخدام هذا الرمز مع cobe آخر في VBA. من فضلك اقترح لي بعض الحل شكرا مع تحياتي Gourav
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي جراف ،
آسف لا يمكن حل هذه المشكلة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
جربت الكود وبدا أنه يعمل إلى حد ما. ومع ذلك ، فإنه يسمح لي بحذف التاريخ الذي تم إدخاله في الخلية ولكنه يمنعني فقط عندما أحاول إدخال شيء آخر. هل هناك طريقة لمنع حذف البيانات؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي ستايسي ،
نفس المشكلة لا تظهر في حالتي. يمنع الرمز المستخدمين من إدخال البيانات وكذلك حذفها من النطاق المحدد. هل ستوفر إصدار Office الخاص بك لمزيد من الاختبارات؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لأي شخص قد يكون قد تعثر هنا منذ هذا التعليق. إذا كنت مضطرًا إلى إلغاء قفل ورقة العمل في كل مرة تقوم فيها بملء خلية ، فأنت بحاجة أولاً إلى ، - فتح جدول البيانات - تمييز منطقة ورقة العمل التي يتم تطبيق الكود عليها - انقر بزر الماوس الأيمن وانتقل إلى "تنسيق الخلايا" - انتقل إلى علامة التبويب أقصى اليمين تسمى "الحماية" وقم بإلغاء تحديد قسم "مغلق" (حتى لو ظهر كملء صلب بدلاً من علامة) بعد ذلك ستتمكن من إدخال البيانات في خلايا متعددة دون الحاجة إلى فتح القفل في كل مرة. ضع في اعتبارك إذا كنت بحاجة إلى إعادة زيارة الخلايا المقفلة لحذف المعلومات أو تحريرها ، فقد تحتاج إلى تكرار الخطوات المذكورة أعلاه. أتمنى أن يساعدك هذا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحب قفل الخلايا المعدلة فقط. بمجرد إدخال أي بيانات إلى الخلايا الفارغة ، أطلب قفل الخلية المعدلة ليتم قفلها تلقائيًا ولكن ليس الخلايا الفارغة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي سبهاش
بعد استخدام الرمز ، يتم تأمين الخلايا المحررة فقط في النطاق المحدد. ولا يزال بإمكانك إدخال البيانات في الخلايا الفارغة في النطاق المحدد حسب حاجتك. بعد ملء الخلية الفارغة ، سيتم قفلها تلقائيًا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا ، يقوم بتأمين النطاق بالكامل مرة واحدة بعد إدخال البيانات في خلية في النطاق
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي براديب ،
ما هو إصدار Office الذي تستخدمه؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرًا على الترميز ، لكن لدي مشكلة في وضع ترميزين في ورقة واحدة ، الرجاء المساعدة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي فير ،
آسف لا يمكن حل هذه المشكلة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
سيدي أريد قفل البيانات بعد إدخال البيانات مرة واحدة!
كما لو كنت أتابع أحد العملاء وأكتب الحالة ، فلن يتمكن أي موظف آخر من تعديل ذلك أو تعديله!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
يمكن أن تساعدك الطريقة في هذا المنشور أيضًا في حل هذه المشكلة.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
الخلايا ليست قابلة للتحرير حتى ... الخطأ الذي حدث لا يفهم الرجاء المساعدة
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
في البداية ، تحتاج إلى تعيين الخلايا المحددة على Unlocked للتحرير ، ثم حماية ورقة العمل. وأخيرًا قم بتطبيق برنامج VBA النصي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يجب أن يكون الترميز؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Hi


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


شكرا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عزيزي جاكي ،
يمكن أن يساعدك رمز VBA أدناه في حل المشكلة.

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
خافت xRg كمدى
خافت xSRg كمدى
على خطأ استئناف التالي
تعيين xSRg = Range ("A1: F8")
تعيين xRg = تقاطع (xSRg ، الهدف)
إذا كان xRg لا شيء ، فاخرج من Sub
Target.Worksheet.Unprotect Password: = "123"
xSRg.Locked = صحيح
Target.Worksheet.Protect Password: = "123"
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
هل هناك طريقة لقفل الخلايا فقط بدلاً من الورقة بأكملها؟ على سبيل المثال ، إذا أدخل المستخدم "نعم" في A2 ، فسيتم قفل A2 فورًا لعدم السماح بأي تغييرات. ما زلت أرغب إذا كان لا يزال بإمكان الآخرين تحرير أي خلية أخرى أيضًا. شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا سميث ،
يمكن أن يساعدك رمز VBA أدناه في حل المشكلة. يرجى المحاولة وشكرا لتعليقك.

ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
على خطأ استئناف التالي
Target.Worksheet.Unprotect Password: = "123"
الهدف. مغلق = صحيح
Target.Worksheet.Protect Password: = "123"
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
صباح الخير،

هل هناك أي طريقة لمنع المستخدم من النقر بزر الماوس الأيمن على "عرض الرمز" ورؤية كلمة مرور المشرفين؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لا تهتم ، فهمت.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف؟ لم أفهم ...
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، هناك حاجة إلى بعض المساعدة


أقوم في الواقع بعمل قائمة عمل لمجموعة كبيرة من الأشخاص ، ويمكن للجميع الوصول إلى هذه الورقة حتى يتمكنوا من إدخال طلباتهم لأيام العطلة / الإجازات السنوية وما إلى ذلك ، ومع ذلك أريد تحديد عدد الأشخاص الموجودين في إجازة لكل منهم يوم (بحد أقصى 5 طلبات إجازة) وبعد إدخال 5 طلبات إجازة لليوم ، لا يمكن لأي شخص آخر ملء أي طلبات أخرى لهذا التاريخ المحدد.


هل هناك أي كود / وظيفة ستحسب عدد الطلبات المحددة في اليوم ثم عند الوصول إلى الحصة النسبية ، يتم حظر الخلايا الأخرى للطلبات بحيث لا تتجاوز؟ شكرا لك مقدما
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يوم جيد،
مرحبًا بك لنشر أي سؤال في منتدانا: https://www.extendoffice.com/forum.html.
ستحصل على المزيد من دعم Excel من المحترفين أو محبي Excel الآخرين.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا - كان هذا المنشور مفيدًا جدًا ويعمل بشكل مثالي. ومع ذلك ، تتوقف عوامل التصفية الخاصة بي عن العمل عند قفل الخلايا. هل هناك طريقة للتغلب على ذلك؟ شكرًا!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا كيم،
آسف لا يمكن أن تساعد في هذا. يتم تعطيل ميزة التصفية في ورقة عمل محمية بشكل افتراضي.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
شكرا يا رجل ، هذا أنقذ وظيفتي: د
تم تصغير هذا التعليق بواسطة المشرف على الموقع
عندما أخرج من ملف العمل الحالي وفتحه مرة أخرى ، وجدت أن الخلية الجديدة لم يتم قفلها بعد إدخال البيانات ، فقط خلية القفل السابقة وجدت قفلًا. اي حل
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحباً نزمول ،
تحتاج إلى حفظ المصنف كمصنف Excel Macro-Enabled قبل إغلاقه.
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL