اذهب الي المحتوي
أوفيسنا

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

قام بنشر

الاخوه الكرام

 

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

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

عندما اغلق المصنف واقوم بفتحه مره اخرى احصله مؤمن لكن يتم تحديد الخلايا وهذا يتسبب لي في مشكله لان الاوامر التاليه في الماكرو تترتب على الخلية المحدده

 

ارجوا الافاده

 
قام بنشر (معدل)

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

من الأفضل إرفاق ملف وتوضيح المطلوب بدقة

تم تعديل بواسطه hicham2610
قام بنشر

هذا هو الأمر المستخدم

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlNoSelection

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

لكن المشكله عندما اغلاق الاكسيل واقوم بفتحه اجد الشيت محمي ولكن اي شخص يستطيع تحديد الخلايا 

والخلية التي كانت عليها التحديد قبل الاغلاق لا اجد التحديد عندها ويتم تحديد الخلية A1  تلقائياً

 

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

 

                        وشكرا جزيلا لمن يقدم العون والمساعده ولمن يحاول المساعده

قام بنشر

على سبيل المثال 

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

يتم تنفيذ الماكرو بنجاح ولكن عندما اقوم باغلاقها واعادة فتحها اجد ورقة العمل بها الحماية لكن يتغير تنسيق الحماية واستطيع تحديد اي خلية وهذا يتسبب في مشكلة لان الاوامر الاخرى في ورقتي الاساسية مترتبه على الخلية التي عليها التحديد

 

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

ارجو الافاده 

ومرفق نموذج مبسط للمشكله

مسيرات رواتب.rar

قام بنشر
6 ساعات مضت, Hassan Abo-Ali said:

على سبيل المثال 

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

يتم تنفيذ الماكرو بنجاح ولكن عندما اقوم باغلاقها واعادة فتحها اجد ورقة العمل بها الحماية لكن يتغير تنسيق الحماية واستطيع تحديد اي خلية وهذا يتسبب في مشكلة لان الاوامر الاخرى في ورقتي الاساسية مترتبه على الخلية التي عليها التحديد

 

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

ارجو الافاده 

ومرفق نموذج مبسط للمشكله

مسيرات رواتب.rar

في حدث ThisWorkbook

ضع هذا الكود

Private Sub Workbook_Open()
Dim ws As Worksheet
Set ws = Sheets("إسم الورقة المراد حمايتها")
With ws
.Protect Password:="هنا كلمة المرور", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlNoSelection
End With
End Sub

 

قام بنشر

اخي الكريم عندي اكثر من ورقة محميه والامر ينفذ شئ على ورقة وشئ اخر على ورقه اخري 

يعني الامر يتم تنفيذه على اكثر من ورقه 

وكل الاوراق محميه مع التنسيق عدم تحديد الخلايا 

لذلك اعطي الورقة امر unprotect قبل تنفيذ العملية وأمر protect بعد تنفيذ العملية

 

والمشكلة اني اذا اغلقت الاكسيل وفتحته من جديد اجد مشكلتين

الأولى ان تنسيق الحماية يكون متاح فيه تحديد الخلايا 

والثانية ان التحديد اجده على الخلية A1 وليس على الخلية التي كان عليها التحديد قبل الاغلاق

 

وهذه مشكله كبيره لان العمليات التالية تترتب على الخلية المحدده

 

وشكرا جزيلا على اهتمام حضراتكم ،،،

ونسأل الله ان يجعل هذا العلم الذي ينتفع به في ميزان حسناتكم الجارية ،،،

قام بنشر

اولا : المشكلة ليست بهذا الملف  هذا فقط نموذج 

المشكلة في برنامج مسويه على اكسيل 

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

ثانيا : الحماية تكون موجوده ولكن المشكله في تنسيق الحماية 

         بمعنى أن تنسيق الحماية يكون عدم تحديد اي خلية ولكن بعد الفتح والاغلاق تكون الحماية موجوده ولكن يكون التنسيق تحديد الخلايا            متاح 

 

والمشكله الثانية أن بعد الفتح والاغلاق أجد الخلية A1  عليها التحديد  

 

وهذه المشاكل تظهر فقط عندما يعمل الماكرو وبعد ذلك اغلق وافتح

 

               و عندي اكثر من ورقة محميه والامر ينفذ شئ على ورقة وشئ اخر على ورقه اخري 

يعني الامر يتم تنفيذه على اكثر من ورقه 

وكل الاوراق محميه مع التنسيق عدم تحديد الخلايا 

لذلك اعطي VBA امر unprotect قبل تنفيذ العملية وأمر protect بعد تنفيذ العملية

 

والمشكلة اني اذا اغلقت الاكسيل وفتحته من جديد اجد مشكلتين

الأولى ان تنسيق الحماية يكون متاح فيه تحديد الخلايا 

والثانية ان التحديد اجده على الخلية A1 وليس على الخلية التي كان عليها التحديد قبل الاغلاق

 

وهذه مشكله كبيره لان العمليات التالية تترتب على الخلية المحدده

قام بنشر

السلام عليكم

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

كود البرمجة فيه أخطاء فلا بد أن يعلم المبرمج أن الخلية المحددة ستختلف عند فتح الملف وغلقه 

لا بد أن يضع المبرمج في باله أن المستخدم سيغير تحديد الخلية وبالتالي يقوم المبرمج بعمليةالبرمجة بغض النظر عن الخلية المحددة

عندي اقتراح لحل المشكلة الأولى :

أولا : قم بعمل الحماية يدويا على كل الصفحات واختر كلمة مرور واحدة ولتكن 123 لجميع الصفحات

واختبر عدم تحديد الخلايا

ثانيا : غير كود الحماية كالآتي

في بداية كود الحماية ضع
ActiveSheet.UnProtect "123"
وفي نهاية كود الحماية ضع
ActiveSheet.Protect "123"

أما المشكلة الأخرى فأظن أن برمجتها بالطريقة التي ذكرتها هي خطأ من المبرمج

تحياتي

قام بنشر

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

ثانيا : الحماية تكون موجوده ولكن المشكله في تنسيق الحماية 

         بمعنى أن تنسيق الحماية يكون عدم تحديد اي خلية ولكن بعد الفتح والاغلاق تكون الحماية موجوده ولكن يكون التنسيق تحديد الخلايا            متاح 

 

والمشكله الثانية أن بعد الفتح والاغلاق أجد الخلية A1  عليها التحديد  

 

وهذه المشاكل تظهر فقط عندما يعمل الماكرو وبعد ذلك اغلق وافتح

 

               و عندي اكثر من ورقة محميه والامر ينفذ شئ على ورقة وشئ اخر على ورقه اخري 

يعني الامر يتم تنفيذه على اكثر من ورقه 

وكل الاوراق محميه مع التنسيق عدم تحديد الخلايا 

لذلك اعطي VBA امر unprotect قبل تنفيذ العملية وأمر protect بعد تنفيذ العملية

 

والمشكلة اني اذا اغلقت الاكسيل وفتحته من جديد اجد مشكلتين

الأولى ان تنسيق الحماية يكون متاح فيه تحديد الخلايا 

والثانية ان التحديد اجده على الخلية A1 وليس على الخلية التي كان عليها التحديد قبل الاغلاق

 

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

 

ومرفق لحضراتكم نموذج للمشكله 

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

وتجد الحماية موجوده ولكن مع التنسيق تحديد الخلايا متاح

 

واذا انحلت المشكله وتريد التجربه اعمل حركة وارد للصنف 308383000 مثلا واغلق الاكسيل وافتحه واخل على الحركة اليومية 

للتأكد انها انحلت ام لا

نسخ من المستودعات.rar

الاستاذ الفاضل : ابوعيد

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

 

وبالنسبة لاقتراح حضرتك فهذا بالفعل هو اللي انا اسويه كما ذكرت في السابق اني اعطي ال VBA أمر بعمل unprotect  قبل تنفيذ العملية و protect بعد تنفيذها

قام بنشر

ياجماعة الخير ... بالله افيدوني للاهمية

ارفقت الملف الذي به المشكلة بالتعليق السابق 

ارجوا الاهتمام من حضراتكم ... وجزاكم الله كل خير

قام بنشر
في ١٥‏/٣‏/٢٠١٧ at 01:46, الجموعي said:

في حدث ThisWorkbook

ضع هذا الكود


Private Sub Workbook_Open()
Dim ws As Worksheet
Set ws = Sheets("إسم الورقة المراد حمايتها")
With ws
.Protect Password:="هنا كلمة المرور", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlNoSelection
End With
End Sub

 

الاخ الجموعي الكريم

ولو ودي اسوي حماية لاكثر من ورقة في نفس الوقت

أيش يصير الكووووود ........... ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

قام بنشر
14 ساعات مضت, Hassan Abo-Ali said:

الاخ الجموعي الكريم

ولو ودي اسوي حماية لاكثر من ورقة في نفس الوقت

أيش يصير الكووووود ........... ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

شاهد المشاركة الثامنة التي ارفقتها لك بها الحماية لجميع الشيتات

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information