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

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

قام بنشر

الى الاخوة الاعزاء فى منتدانا الكريم :

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

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

هل هناك أحد من خبرائنا الغاليين يدلنى سريعا على طريقة لحل هذه المشكله .[/co :wub: lor]

قام بنشر

اخي osamram

لعمل ذلك نقوم باتباع الآتي :

1- تظليل المنطقة المراد حمايتها

2- عمل صح على المربعين حماية واخفاء

3- من قائمة ادوات حماية يظهر مستطيل به عدة خيارات تقوم بعمل صح في المربع رقم 12 والخاص بالتصفية

بهذا ستعمل معاك التصفية مع الحماية

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

______________.rar

قام بنشر

الأخ العزيز

السلام عليكم

نقلا عن الأستاذ في المنتدى/ tameromar

اليك وجهة نظره لحل المشكلة كما كتبها في اكواد VBA

ارجو ان تكون فيها الفائدة لك

حل مشكلة اعتراض حماية اورق الملف لتنفيذ الماكرو

هو الحل النهائى لهذه المشكلة والتى لايأتى بعده حلول نهائيا .

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

ودائما الحل فى الدواء المكرر والمعاد دائما وهو رفع الحماية فى بداية عمل الماكرو ثم وضعها مرة اخرى فى نهايتة

ولكن الحل هنا فى منتدى الاكسيل لاول مرة على مستوى المنتديات .

وعلى سبيل المثال لا الحصر لهذه الاوامر التى تسبب توقف عمل الماكرو

ادراج او الغاء صفوف او اعمدة

تغير لون الخلية او لون الخط

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

فيلجأ البعض منا مما له دراية بالاكواد بعمل عدد 2 ماكرو منفصلين

الاول يعمل على تنفيذ الحماية

والثانى يعمل على الغاء الحماية

ثم عند تصميم اى ماكرو يقوم بوضع اسم الماكرو الاول فى بداية المكرو الذى يقوم بتصميمة

ويضع اسم الماكرو الثانى فى نهاية الماكرو الذى يقوم بتصميمة

بمعنى فى حالة اعترض الحماية يجب رفع الحماية فى بدية الماكرو

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

حتى يتم تنفيذ هذا الماكرو بدون اعتراض .

ولكن الاكسل وفر لنا الكثير والكثير ولكن العقبة هى عدم الوصول الى هذه المعرفة

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

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

كود

UserInterfaceOnly:=True

التى توضع فى امر الحماية ويمكن بذلك تنفيذ اى ماكرو بدون اعتراض مسيو اكسيل

وبخصوص هذا الامر

عند حفظ الملف تفرض الحماية كاملة وينهى عمل هذا الاستثناء

وعليه عند فتح الملف يجب الاعلان عن ان الحماية مشمولة بهذا الامر

ولذلك يجب ادراج كود الحماية بأحد هاتين الطريقتين :

اولا : اما عن طريق ماكرو التنفيذ التلقائى عند الفتح الذى ينفذ اى اوامر مدرجة به عند فتح الملف

كود

Sub AUTO_OPEN()

ثانيا : عن طريق حدث فتح الملف الاتوماتيكى الذى ينفذ اى اوامر مدرجة به عند فتح الملف

كود

Private Sub Workbook_Open()

فأذا اردنا ان يكون كود الحماية فى ماكرو الفتح (Sub AUTO_OPEN)

يكون الماكرو على هذه الصورة بفرض ان كلمة السر هى (123)

كود

Sub AUTO_OPEN()

MyPassword = "123"

For Each MySheet In ActiveWorkbook.Sheets

MySheet.Protect _

Password:=MyPassword, _

DrawingObjects:=True, _

Contents:=True, _

Scenarios:=True, _

UserInterfaceOnly:=True

Next MySheet

End Sub

 

اما اذا اراد المترسين بالاكواد بوضع كود الحماية فى حدث فتح الملف يكون على الشكل التالى

بفرض ان كلمة السر هى (123)

كود

Private Sub Workbook_Open()

MyPassword = "123"

For Each MySheet In ActiveWorkbook.Sheets

MySheet.Protect _

Password:=MyPassword, _

DrawingObjects:=True, _

Contents:=True, _

Scenarios:=True, _

UserInterfaceOnly:=True

Next MySheet

End Sub

بذلك يمكن تنفيذ اى ماكرو بدون اعترض

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

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

تم تحرير المشاركة بواسطة tameromar

قام بنشر

أخى العزيز نزار :

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

أخى العزيز Aymz077 :

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

ومرفق لكل الاخوة مثال يوضح المطلوب والملف به باسورد للورقة الأولى والباسورد هو 123

والمثال المرفق به اعمدة لها حماية واخرى ليس لها

ارجو سرعة الرد من منتدانا الكريم :rol::rol::rol:

Book2.rar

قام بنشر

اخي osamram

حسب اطلاعي على الملف وجدت ان الحماية تخص العمود الاول A

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

وعليه عند تظليل هذه المنطقة وعمل فرز قسيتم الفرز ارجو ان يكون الرد واضح

قام بنشر
اخي osamram

حسب اطلاعي على الملف وجدت ان الحماية تخص العمود الاول A

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

وعليه عند تظليل هذه المنطقة وعمل فرز قسيتم الفرز ارجو ان يكون الرد واضح

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

اخي osamram

حسب اطلاعي على الملف وجدت ان الحماية تخص العمود الاول A

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

وعليه عند تظليل هذه المنطقة وعمل فرز قسيتم الفرز ارجو ان يكون الرد واضح

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

قام بنشر

اخي osamram

مشكور على الرد

ولكن في حالة عدم وجود حماية وظللت الصفحة وفرزت مثلا على العمود B فهل ممكن تقول لي

ماذا سيحدث؟

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

واذا اردت ذلك بواسطة الكود اعلمني

تحياتي لك

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

عمل رائع يا نزار :clapping:

وخصوصا ملف (( فرز مع الحماية ))

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

أخى العزيز نزار :

اعتذر عن التأخير فى الرد نظرا لسفرى .

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

انا رأيت ملفك الخاص بالفرز وهو أكثر من رائع ولكنك نسيت شيئا فى طلبى ان اساس طلبى هو وجود خلايا بها دوال ومعادلات لا اريد التعديل بها أو رؤيتها ( لم ارسل هذه الدوال فى الملف السابق ) ولهذا ارغب فى طريقة الفرز التى ارسلتها سيادتكم مع وجود حماية لخلايا من التعديل أو مشاهدة الدوال داخل الورقة فهل هذا ممكن ( إن كانت هناك طريقة ارجو ان تتكرم وترسلها ولكن اعذرنى اريد شرح الكود الخاص بها لتطبيقها فى ملف الكنترول الذى اعمل به منذ شهور لانه يصل إلى 30 ورقة كلها تحتاج هذا الأمر .

ومرة أخرى وثالثة ورابعة اكرر شكرى العميق لاهتمامك بشكواى .

أسامة

:clapping::clapping::clapping::clapping::clapping:

قام بنشر

اخي عثمان

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

الحمد لله على سلامتك

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

واذا اردت اضافة اية معادلة قم اولابفك الحماية ثانيا ضف المعادلة ثالثا اعد الحماية

ستجد ان الملف محمي والمعادلات مخفية ويمكنك الفرز

تحياتي لك مجددا والحمدلله على السلامة

وتحياتي للاخ GHMN7174

_______________1.rar

قام بنشر

:clapping::clapping::clapping::clapping:

:clapping::clapping::clapping::clapping:

الله ينور عليك يا استاذنا العظيم عمل رائع رائع رائع هذا هو المقصود بل واكثر من المطلوب ايضاً تسلم ايديك وبارك الله فيك .

اطمع فى شرح تفصيلى جدا للكود ( لاننى لم اتعامل بالاكواد قبل ذلك الا قليلا ) لكى اطبق هذه الطريقة فى كل صفحات ملف الكنترول التى تصل إلى 30 صفحة فى ملف واحد ويصل عدد أعمدة بعض الشيتات داخل الصفحة إلى 40 عمود لهذا اتمنى فهم الكود فاعذرنى وكن طويل البال معى لاننى بحثت فى الكود الذى ارسلته مثلا ولم اجد مثلا اين كتبت المدى ( b2 : q22 ) وغيره من طريقة جعل الفرز تصاعدى وتنازلى على كل عمود .

اتمنى الا تخذلنى فى طلبى الاخير وان يكون الشرح تفصيلى .

ومرة اخرى اكرر تقديرى واحترامى لك

أسامة

قام بنشر

اخي osamram

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

في الماكرو لم يتم تحديد لنهاية المدى ولكن التحديد لبداية المدى وهو B2

الى آخر الجدول كذلك اذا اردت استخدام الكود مع اي جدول خاص بك ما عليك

سوى نسخ الكود من الموديل Nizar الى الملف الخاص بك

مع نسخ الكود الموجود في صفحة اسم التلميذ مع مراعاة اسم الصفحة في الملف الخاص بك

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

اما عملية مرة تصاعدي ومرة تنازلي فيوجد امر في الفقرة الرابعة يقوم بمقارنة القيمة في اول العمود

مع القيمة في آخر العمود فاذا كانت القيمة في بداية العمود اكبر من القيمة في نهاية العمود يتم الفرز تنازلي

والعكس بالعكس. ولعمل خلايا الفرز من مربع ادوات الرسم يوجد مربع Rectangle

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

وتسجيل الماكرو الجديد

هذا بشكل مختصر واذا واجهتك اي صعوبة في تنفيذ اي شئ فلا تتردد بالكتابة

تحياتي لك

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

:rol::rol::rol::rol::rol:

أخى العزيز نزار :

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

ارجو الا اكون قد اثقلت عليك :wub::wub:

أسامة

ارجو ان يكون الفرز لكل عمود سواء كان ماده بالكامل أو فرع من فروعها

CONTROL.rar

تم تعديل بواسطه osamram
  • Like 1

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