اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حماية الخلايا من التعديل بالنسخ من خلايا أخرى


إذهب إلى أفضل إجابة Solved by ibn_egypt,

الردود الموصى بها

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

 

من فضلكم انا عامل برنامج على الاكسيل يحتوى على خلية بها قائمة لاختيار نشاط معين من قائمة "Data Validation" و اريد حماية لهذه الخلايا من اى تعديلات بالنسخ من اى خلية اخرى.

 

مرفق ملف لمزيد من الايضاح

 

و لسيادتكم جزيا الشكر....،

  •  
رابط هذا التعليق
شارك

استاذى الفاضل

جرب الحل التالى

اعمل كليك يمين على الخلايا اللى بها قائمة منسدله ومن بروتكت زيل خيار الحمايه عنها

ثم قم بعمل حمايه للورقة ككلك 

هذا الحل سوف يسمح بالصق فى الخلية الموجود بها قائمة منسدله  مع عدم ازالة القائمة المنسدله منها

تقبل تحياتى

رابط هذا التعليق
شارك

أخى الكريم شكرا لك على الاهتمام بالرد على طلبى.

 

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

 

ارجو ان يتسنى لك الوقت لكى تلقى نظرة على ملف الاكسيل المرفق، لان به مثال عملى على ما اريد

 

شكرا لك على المتابعة و الاهتمام.

Sheet1.zip

رابط هذا التعليق
شارك

( على حد علمى ان من عيوب القائمة المنسدله انها تسمح باللصق )

فى احد الخيارين امامى شوف ايه المناسب لك وانا تحت امرك

الاول 

 متابعه الرابط التالى 

http://www.officena.net/ib/index.php?showtopic=58026&page=2

المشاركة رقم 23 

هل يناسبك هذا الحل ام انك تريد النسخ بالملف 

 

الثانى

عمل فورم بحث بالاكواد والاستغناء عن القائمة المنسدله

تقبل تحياتى

  • Like 1
رابط هذا التعليق
شارك

 

استاذى الفاضل

جرب الحل التالى

اعمل كليك يمين على الخلايا اللى بها قائمة منسدله ومن بروتكت زيل خيار الحمايه عنها

ثم قم بعمل حمايه للورقة ككلك 

هذا الحل سوف يسمح بالصق فى الخلية الموجود بها قائمة منسدله  مع عدم ازالة القائمة المنسدله منها

تقبل تحياتى

 

 

أخى الكريم شكرا لك. لكن للاسف هذا الحل غير نافع

لقد قمت بعمل شرط من قائمة "Data validation" ليكون الاختيار من القائمة المنسدلة فقط، و يمكنك ان تلاحظ انه فى حالة ادخال اى بيان مخالف فإن الخلية لا تقبل هذا الادخال الغير صحيح. لكن المشكلة باننى حينما اقوم بنسخ اى خلية اخرى ثم اقوم بإلصاقها على الخلية الموجود بها الشرط فإنها تقبل هذه القيمة و ان كانت غير صحيحة.

شكرا لك على الاهتمام

رابط هذا التعليق
شارك

تسلم يا ابن مصر .. كمل جميلك

جرب تلصق كقيمة Paste As Values

 

اعتقد مش هتفرق قصة اللصق كقيمة Paste As Values لانها لاتحذف ال Validation Rule الموجودة في الخلية بخلاف اللصق العادى

 

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

 

تحياتي :fff: 

ValidationList.rar

رابط هذا التعليق
شارك

لسه باقي تكة .. الغاء خاصية النسخ والقص مع الخلايا التي بها قائمة منسدلة فقط (كمل جميلك وكلنا هندعيلك)

بارك الله فيك..

أنا هسيب لك المهمة دي عشان ورايا أكوادك بجمعها ... تعبتني ..مكنتش قادر تشرحها بالمرة عشان تبقى الهدية كاملة

بس بصراحة أكواد في منتهى الجمال والروعة

تسلم أخي الغالي ابن مصر وفي انتظار المزيد ...

رابط هذا التعليق
شارك

لسه باقي تكة .. الغاء خاصية النسخ والقص مع الخلايا التي بها قائمة منسدلة فقط (كمل جميلك وكلنا هندعيلك)

بارك الله فيك..

أنا هسيب لك المهمة دي عشان ورايا أكوادك بجمعها ... تعبتني ..مكنتش قادر تشرحها بالمرة عشان تبقى الهدية كاملة

بس بصراحة أكواد في منتهى الجمال والروعة

تسلم أخي الغالي ابن مصر وفي انتظار المزيد ...

اتفضل ياسيدي

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo 1
        If Target.Validation.Type > 0 Then
            Application.CutCopyMode = False
        End If
1
End Sub

اتمنى يكون هو ده المطلوب ... عند العضو 3 طرق الى الآن .. 

 

تحياتي :fff: 

Sheet1.rar

  • Like 1
رابط هذا التعليق
شارك

أسهل وأيسر وألذ طريقة فيهم

ومفيش أحسن من كدا ..

هذا رأيي .. في انتظار رأي السائل

 

طب اتعبك بقي وضيف الثلاثة للمكتبة :biggrin2: ... كود منع اللصق فقط ... كود منع النسخ والقص واللصق داخل الملف ... كود منع اللصق على القائمة المنسدلة 

 

تحياتى :fff: 

رابط هذا التعليق
شارك

أخي ابن مصر الحبيب

الكود الفعال هو الذي سيتم إضافته وهو الأخير

أما الأكواد الأخرى فلم تؤدي النتيجة كما ينبغي لذا وجب عدم إضافتها ..خلينا في المفيد يا أبو عيد

رابط هذا التعليق
شارك

أخي ابن مصر الحبيب

الكود الفعال هو الذي سيتم إضافته وهو الأخير

أما الأكواد الأخرى فلم تؤدي النتيجة كما ينبغي لذا وجب عدم إضافتها ..خلينا في المفيد يا أبو عيد

 

وجهات نظر .. الكود الثانى انا شايفه رائع وهو منع النسخ واللصق داخل الملف بالكامل .. مين عيد :rol: 

رابط هذا التعليق
شارك

لا أختلف معك في روعة الكود ، ولكن ليس لحل مشكلة التعامل مع القوائم المنسدلة ..حيث أنني قمت بتجربته وسمح بلصق القيم

رابط هذا التعليق
شارك

لا أختلف معك في روعة الكود ، ولكن ليس لحل مشكلة التعامل مع القوائم المنسدلة ..حيث أنني قمت بتجربته وسمح بلصق القيم

 

انا بتكلم على الكود الثاني في المشاركة 9 وليس الأول.... منع النسخ والقص واللصق واللصق الخاص داخل الشيت تماما ... مفيد جدا جربه  بس زبطها بقي خلى استدعاء الامر كما بالشكل التالى

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ToggleCutCopyAndPaste(True)
End Sub

Private Sub Workbook_Open()
Call ToggleCutCopyAndPaste(False)
End Sub

لما الملف يفتح يتم المنع وعند الإغلاق يفك المنع

 

تحياتي :fff: 

رابط هذا التعليق
شارك

أيوا تمام جربت الكود الثاني وممتاز جدا

وتمت إضافته الحمد لله لمكتبة الصرح

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

لذا يجب مع كل ورقة عمل إضافة هذا الكود

Private Sub Worksheet_Activate()
Call ToggleCutCopyAndPaste(True)
End Sub

مما أراه عيباً في الكود ..
ربما يكون هناك حل آخر ..
أن يتم إضافة الكود بالشكل التالي في ورقة العمل المراد العمل عليها

Private Sub Worksheet_Activate()
    Call ToggleCutCopyAndPaste(False)
End Sub

Private Sub Worksheet_Deactivate()
    Call ToggleCutCopyAndPaste(True)
End Sub

الحل الأخير أعتقد أنه حل المشكلة

رابط هذا التعليق
شارك

نقطة أخرى أخي الغالي ابن مصر

عند فتح المصنف يجب أن يتم فتح المصنف على ورقة عمل أخرى ، حتى يتم تفعيل الكود لابد من الانتقال لورقة العمل وتنشيطها !!

جرب تفتح الملف وأول ما تفتح اعمل كليك يمين هتلاقي الأوامر مفعلة!!! ولازم عشان الكود يشتغل لازم أروح لورقة تانية وأرجع تاني

 

تم الحل

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Call ToggleCutCopyAndPaste(False)
End Sub

Private Sub Worksheet_Deactivate()
    Call ToggleCutCopyAndPaste(True)
End Sub

تم تعديل بواسطه YasserKhalil
رابط هذا التعليق
شارك

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

تم الحل
 

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Call ToggleCutCopyAndPaste(False)
End Sub

Private Sub Worksheet_Deactivate()
    Call ToggleCutCopyAndPaste(True)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Call ToggleCutCopyAndPaste(False)
End Sub

تم تعديل بواسطه YasserKhalil
رابط هذا التعليق
شارك

هو فين العضو الفاضل .. لم نرى له رداً حتى الآن ..طرح الموضوع ولم نرى وجهه إلى الآن

في انتظار رده لنرى أي الحلول وأفضلها له

رابط هذا التعليق
شارك

الاخوة الاعزاء

انا بشكركم شكر لا مثيل له على اهتمامكم بموضوعى و مساعدتى، و اخص بالشكر الاستاذ الفاضل "ابن مصر" و الاستاذ الفاضل "ياسر خليل" على مشاركتم الفعالة.
و فى نفس الوقت بعتذر عن التاخير فى الرد على مشاركتم الجميلة و ذلك بسبب انشغالى فى العمل من ناحية، و تطبيق الاكواد المرسلة لمعرفة مدى فاعليتها من ناحية اخرى. و لو سمحتولى لى ملحوظتين على الاكواد المرسلة من الاخ العزيز "ابن مصر" فى المشاركة رقم 7 و المشاركة رقم 11
 
أولاً: الكود المرسل فى المشاركة رقم 7 الخاص بعدم السماح باللصق فى الخلايا المنسدلة، ستجدون انه عند التطبيق تظهر رسالة "Run-time error '1004'
Method 'range' of object'_worksheet failed 
. فهل يمكن تطبيق الكود على العمود كاملاً؟ سيكون ذلك رائع جدا، و هل يكون ذلك بالنسبة لورقة العمل كلها ام يتعين تطبيقها فى كل ملف على حدا.
 
ثانياً: الكود الخاص  بعدم السماح باللصق فى الخلايا المنسدلة، ستجدون انه بنسخ اى خلية من ملف رقم 2 Ctrl C الى اى خلية منسدلة فى ملف رقم 1ثم  Ctrl V فانها تقبل القيمة الجديدة. فكيف يمكن تلافى ذلك؟
 
مرفق لكم الملف الكامل بعد التطبيق النهانى، و انا اسف ممكن اكون انا اللى مش عارف اطبق الاكواد بطريقة سليمة، لذا يرجى المساعدة و لكم جزيل الشكر..
 
على كل الاحوال هاتين الطريقتين مناسبين جدا لى و بشكركم شكر كبير على مجهودكم
 
رابط هذا التعليق
شارك

( على حد علمى ان من عيوب القائمة المنسدله انها تسمح باللصق )

فى احد الخيارين امامى شوف ايه المناسب لك وانا تحت امرك

الاول 

 متابعه الرابط التالى 

http://www.officena.net/ib/index.php?showtopic=58026&page=2

المشاركة رقم 23 

هل يناسبك هذا الحل ام انك تريد النسخ بالملف 

 

الثانى

عمل فورم بحث بالاكواد والاستغناء عن القائمة المنسدله

تقبل تحياتى

 

اخى العزيز 

 

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

 

شكرا لك مرة اخرى على المشاركة الفعالة

تم تعديل بواسطه omarabdo80
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
×
×
  • اضف...

Important Information