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

كود طبع جميع الشهادات بواسطة دالة البحث LOOKUP (تمت الاجابة)


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

تحية وتقدير لكم جميعاً

الملف المرفق شيت شهادات ضمن مصنف كنترول يحتوى على العديد من الشيتات

الرجاء من الخبراء المساعدة فى صنع كود لطبع جميع الشهادات حيث الماكرو الموجود بالشيت لا يعمل حيث يتعارض مع كود حماية وأمر حماية الورقة من قائمة أدوات / حماية / حماية ورقة

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

ولو تعذر الأمر يمكن عمل كود منفرد ويمكن الإستغناء عن كود الحماية من أساسه

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

الشهادات.rar

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

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

الطباعة لا تتوقف عند تنفيذ كود الطباعة لأنها من المفروض تتوقف عند قيمة (مضمون) الخلية F2 الذي به صيغة

=(D2+1)/3
وهذه القيمة ليست عددا صحيحا طبيعيا (هو عدد عشري) والكود يتغير بأعداد صحيحة طبيعية... يمكن تصحيحه بوضع الصيغة التالية
=Int(D2/3)+1

بدلا من الصيغة السابقة في الخلية F2 وسيعمل بعدها الكود جيدا إن شاء الله

أخوك بن علية

السلام عليكم

الاخ يوسف

تفضل

رمز فك جماية الشيت 123

ويبقى مشكلة واحدة ان الطباعة لا تتوقف فقط . اريد مضدر للبيانات

تم تعديل بواسطه hben
  • Like 1
رابط هذا التعليق
شارك

الاخ ابن عليه

بعد التحية

الطباعة لا تتوقف عند تنفيذ كود الطباعة لأنها من المفروض تتوقف عند قيمة (مضمون) الخلية F2 الذي به صيغة

لو فرضنا عدد الشهادات كلها 10 مثلا

سبكتب جنبها في الخليه F2 أربعه

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

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

دمت بعز الله

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

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

لم أفهم عليك أخي الكريم... ما فهمته من الكود أنه مرتبط بقيمة الخلية F2 وقيمتها ليست عددا طبيعيا... رجاء إشرح لي أكثر...

الاخ ابن عليه

بعد التحية

الطباعة لا تتوقف عند تنفيذ كود الطباعة لأنها من المفروض تتوقف عند قيمة (مضمون) الخلية F2 الذي به صيغة

لو فرضنا عدد الشهادات كلها 10 مثلا

سبكتب جنبها في الخليه F2 أربعه

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

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

دمت بعز الله

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

هذا الكود موجود بملف للاستاذ مجاهد

تحية اعزاز له

ولكن بكل اسف تم رفع اسمه من الكود سهوا من بوش

الله يصلح احوالنا

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

تحياتى لك يا اخى

الاخ بن علية شكرا على التوضيح

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

أشكر لكم صبركم وتعاونكم على حل مشكلتى إخوتى الأعزاء

بالفعل أخى العزيز بوش الطباعة لم تتوقف وظلت الطابعة تعمل بلا توقف رغم إنتهاء الشهادات

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

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

Int(D2/3)+1=

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

وبعد تعديلها كما تفضلت لم يتم طبع ال100 شهادة بل 34 فقط

وببساطة تم تعديل قيمة المعادلة لتصبح (D2)=

فأصبحت الطابعة تتوقف بمجرد طبع الشهادة المحددة (آخر شهادة)

أشكركم جميعاً سادتى الأفاضل

وعشمى أن يعمل الكود مع كود الحماية الذى قمت بإذالته مسبقاً

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

معلش يا جماعة

كل ما نخرج من نقرة نقع فى دحديرة

هههههه

بعد ما جربته وإشتغل كويس بعد التعديل على ملف صغير 150 شهادة فقط يعنى 50 ورقة طباعة

لما جيت اشغله على الملف بتاعى 1215 شهادة يعنى أكتر من 400 ورقة طباعة حصل الآتى

أولاً من كتر أوامر الطباعة البرنتر هنج أو الجهاز أو كلاهما مش عارف بالظبط

ثانياً رجع تانى يطبع بإستمرار ولم يتوقف

جارى البحث عن حل

ولى طلب تانى بالمرة

كود طبع ورقة واحدة ( الورقة إللى فيها ال3 شهادات الظاهرة بالشاشة

الف شكر لتعبكم يا سادة يا كرام

ولكم تحياتى

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

معلش يا جماعة

كل ما نخرج من نقرة نقع فى دحديرة

هههههه

بعد ما جربته وإشتغل كويس بعد التعديل على ملف صغير 150 شهادة فقط يعنى 50 ورقة طباعة

لما جيت اشغله على الملف بتاعى 1215 شهادة يعنى أكتر من 400 ورقة طباعة حصل الآتى

أولاً من كتر أوامر الطباعة البرنتر هنج أو الجهاز أو كلاهما مش عارف بالظبط

ثانياً رجع تانى يطبع بإستمرار ولم يتوقف

جارى البحث عن حل

ولى طلب تانى بالمرة

كود طبع ورقة واحدة ( الورقة إللى فيها ال3 شهادات الظاهرة بالشاشة

الف شكر لتعبكم يا سادة يا كرام

ولكم تحياتى

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

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

المشكل معك أخي الكريم (وهذا ما فهمته من الكود الذي وضعته للطباعة) أن الطباعة تتوقف عن الرقم الموجود في الخلية F2 الذي يجب أن يكون عددا طبيعيا وأن تكون أيضا قيمته تكتب من الشكل : (3 ك + 1) حيث ك عدد طبيعي غير معدوم لأنك بدأت الطباعة من العدد 1 ثم تضيف 3 كل مرة أي السلسلة تكون من الشكل (1 ، 4 ، 7 ، 10 ، 13 ، ...) أما إذا قيمة الخلية F2 هي عدد من الشكل "3ك" وأقصد بها الأعداد من السلسلة (3 ، 6 ، 9 ، ...) أو من الشكل "3ك + 2" وأقصد بها السلسلة (2 ، 5 ، 8 ...) فلا يتوقف الكود أبدا لعدم تساوي القيمة المتغيرة في الخلية الزرقاء مع القيمة الموجودة بالخلية F2... ولحل هذا المشكل أخي الكريم أنصحك أن تقوم بما يلي:

1) أن تقوم بترقيم كل طالب من قائمتك (قائمة الأسماء) المخفية ترقيما متسلسلا من 1 إلى آخر طالب في القائمة (وليس كما وضعتها)

2) أن تغير السطر الموجود في الكود التالي

السطر

ActiveCell = ActiveCell + 3
بالسطر
ActiveCell = ActiveCell + 1

وإن شاء الله سيزول المشكل...

أخوك بن علية

معلش يا جماعة

كل ما نخرج من نقرة نقع فى دحديرة

هههههه

بعد ما جربته وإشتغل كويس بعد التعديل على ملف صغير 150 شهادة فقط يعنى 50 ورقة طباعة

لما جيت اشغله على الملف بتاعى 1215 شهادة يعنى أكتر من 400 ورقة طباعة حصل الآتى

أولاً من كتر أوامر الطباعة البرنتر هنج أو الجهاز أو كلاهما مش عارف بالظبط

ثانياً رجع تانى يطبع بإستمرار ولم يتوقف

جارى البحث عن حل

ولى طلب تانى بالمرة

كود طبع ورقة واحدة ( الورقة إللى فيها ال3 شهادات الظاهرة بالشاشة

الف شكر لتعبكم يا سادة يا كرام

ولكم تحياتى

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

السلام عليكم

الاخ يوسف اضفت لك ثلاث معادلات وستجد ان شاء الله

ان الطباعة تتوقف عند اى رقم تريد

اضفت لك كود طباعة ورقة واحدة

والكود يعمل مع الحماية ورقم الحماية 123

A1.rar

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

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

حل آخر لمسألة الطباعة التي لا تتوقف هو كما يلي:

يمكنك فقط تغيير السطر التالي في الكود:

Loop Until ActiveCell.Value = Range("f2").Value
بالسطر
Loop Until ActiveCell.Value > Range("f2").Value

دون المساس بالتغييرات الأخرى التي وضعتها في ردي السابق

سيقوم الكود بالتوقف عندأول قيمة للخلية الزرقاء أكبر تماما من القيمة الموجودة في الخلية F2

ملاحظة: العمل الذي قدمه الأخ BOSH (ويشكر عليه) فيه الخلل نفسه عند القيام بطباعة كل الشهادات...

والله أعلم

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

حل آخر لمسألة الطباعة التي لا تتوقف هو كما يلي:

يمكنك فقط تغيير السطر التالي في الكود:

Loop Until ActiveCell.Value = Range("f2").Value

بالسطر

Loop Until ActiveCell.Value > Range("f2").Value

دون المساس بالتغييرات الأخرى التي وضعتها في ردي السابق

سيقوم الكود بالتوقف عندأول قيمة للخلية الزرقاء أكبر تماما من القيمة الموجودة في الخلية F2

ملاحظة: العمل الذي قدمه الأخ BOSH (ويشكر عليه) فيه الخلل نفسه عند القيام بطباعة كل الشهادات...

والله أعلم

الاخ hben

المشكلة ليست بالكود

الطباعة لن تتوقف الا اذا توافق العدد فى الخلية k3 مع العدد فى الخلية نع D2 ( لازم يكون مسلسل اخر طالب مساويا للعدد فى الخلية K3 ) لان الارقام فى الخلية K3 تظهر على شكل متوالية عددية حدها الاول عو 1 واساسها 3 وحدها الاخير متغير وهذا ما يصعب الموضوع

من فضلك اطلع على المرفق السابق للتحقق

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

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

أود أن أعرف من صاحب الموضوع بالنسبة لطباعة الشهادات هل كل صفحة تحوي 3 شهادات مختلفة لثلاثة طلاب أم كل صفحة تحوي 3 شهادات للطالب نفسه (وفي هذه الحالة لا جدوى من المتتالية التي أساسها 3 وحدها الأول 1 بل نجعلها متتالية أساسها 1 وحدها الأول 1)؟؟؟

بالنسبة للمعادلات التي أضقتها أخي BOSH قي الخلايا H1 و H2 ما هو الهدف منها؟؟ أليست هي نفسها الموجودة بالخليتين D2 و F2؟؟؟

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

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

والله أعلم

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

السلام عليكم

اخى العزيز طبعا الورقة بها 3 شهادات مختلفة ( اظن ذلك والا ما الهدف من تكرارهم فى ورقة واحدة ) واتمنى من صاحب الموضوع الفصل فى ذلك

اما المعادلات فهى مختلفة تماما والهدف منها تطابق العددين فى الخلية الزرقاء مع عدد المتقدمين لايقاف الطباعة

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

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

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

لقد اطلعت على عملك في الرد بالأعلى ولكن المشكل ما زال باقيا وقد شرحت ذلك بالأعلى حيث يجب أن يكون العدد من الشكل 3ك+1 وإلا فإن الكود لا يتوقف... الآن قمت ببعض التغييرات على الملف في مواضع منه وهو يشتغل جيدا وأضفت له حتى عمل القائمة المنسدلة للأسماء عند اختيار اسم منها...

أولا : ربطت القائمة المنسدلة بالخلية H2 بدلا من الخلية K3

ثانيا: وضعت صيغة بواسطة الدالة IF في الخلية K3 مرتبطة بالخليتين H1 (المتغيرة بالكود) والخلية H2 (في حالة اسم من الاقئمة المنسدلة)

ثالثا : غيرت في الكود بإضافة سطر أول يقوم بمسح مضمون الخلية H2 حتى يستعمل الكود الخلية H1 لتغيير القيم من 1 إلى قيمة الخلية F2 التي بها عدد الصفحات تدريجيا بالخطوة 1 والتي وضعتها في السطر : ActiveCell = ActiveCell + 1 والذي كانت صيغته ActiveCell = ActiveCell + 3

رابعا: غيرت أيضا في الخلية M11 التي تعطي رقم جلوس الطالب للشهادة الأولى في الصفحة ووضعت فيها صيغة بالدالة IF

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

أخوك بن علية

A1.rar

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

اخى الغالى خل ممتاز

والات عرفت لماذا قلت فى ملفى انى لم افعل فيه المطلوب باختصار انى رفعت الملف الخطئ

من فضلك انظر ثانيا المرفق ومنتظر ردك

A11.rar

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

جارى التجربة

بالنسبة للشهادات الثلاثة هى ثلاث شهادات لثلاث طلاب مختلفين

بالنسبة لتساوى الخليتين k3 , d2 فحتى لو تساويا فالطباعة تستمر

وللعلم جارى التحقق أكثر من هذه النقطة ولو كانت هى النقطة الفاصلة فالحل سهل جداً

وجارى التوصل إليه وتجربته ايضاً

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

الكود يعطى أمر طباعة لكل 3 شهادات (ورقة واحدة )

مما يؤدى لتخزين أكثر من 400 أمر طباعة فى حالة الملف الخاص بى

وهذا العدد الكبير من الأوامر يؤدى لتهنيج الجهاز أو البرنتر أو كلاهما

بحيث أننى من أساسه لا أستطيع أن أفعل شئ سوى إغلاق الكمبيوتر من الباور كى

أو إغلاق الإيكسيل من الت كنترول ديليت وهذا يستغرق وقت أكثر من المعتاد

فهل يمكن أن يكون أمر الطباعة واحد يغطى كل الشهادات المطلوبة ؟؟

أو أن يتم تأخير أمر الطباعة 4 ثوانى حتى يكون بدء تنفيذ الأمر السابق حيث البرنتر سرعتها حوالى 16 أو 18/دقيقة

تلك نقطة أخرى

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

سلام موقت جارى التنفيذ

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

السلام عليكم

الاخ يوسف اضفت لك ثلاث معادلات وستجد ان شاء الله

ان الطباعة تتوقف عند اى رقم تريد

اضفت لك كود طباعة ورقة واحدة

والكود يعمل مع الحماية ورقم الحماية 123

الله ينور عليك

الكودان يعملان جيداً

كود طبع كل الشهادات يعمل بكفاءة ويتوقف مباشرة عند طبع آخر شهادة

كود طبع ورقة واحدة يعمل جيداً ايضاً

أتعشم أن ترفق شرح لكل سطر بالكود لتعم الفائدة

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

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

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

حل آخر لمسألة الطباعة التي لا تتوقف هو كما يلي:

يمكنك فقط تغيير السطر التالي في الكود:

Loop Until ActiveCell.Value = Range("f2").Value
بالسطر
Loop Until ActiveCell.Value > Range("f2").Value

دون المساس بالتغييرات الأخرى التي وضعتها في ردي السابق

سيقوم الكود بالتوقف عندأول قيمة للخلية الزرقاء أكبر تماما من القيمة الموجودة في الخلية F2

شكر جداً جداً جداً

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

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

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

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

هذه المرة عمل الكود جيد جدا... المشكلة هي أن الأخ يوسف عطا اختار في قائمته ترتيبا للطلبة حسب متتالية حدها الأول 1 وأساسها 3 وهذا يجعل خللا في عدد الصفحات ويجعل العمل بالقائمة المنسدلة عملا فيه أخطاء كثيرة باعتبار أن اختيار أي اسم منها يضع رقم الترتيب (وهو تصاعدي 1 ، 2 ، 3 ، 4 ...) في الخلية الزرقاء... لهذا قمت في عملي السابق بإعادة ترتيب القائمة المنسدلة ترتيبا عاديا (وهي موجودة في عمود مخفي) وقمت بالتغييرات التي ذكرتها سابقا...

اخى الغالى خل ممتاز

والات عرفت لماذا قلت فى ملفى انى لم افعل فيه المطلوب باختصار انى رفعت الملف الخطئ

من فضلك انظر ثانيا المرفق ومنتظر ردك

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

والله أعلم

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

  • 4 months later...

عودة مرة أخرى لكود طبع الشهادات

لنفرض أن البرنتر هنج أو الكمبيوتر هنج وهذا حدث أكثر من مرة بعد طبع جزء من الشهادات

المشكلة أن طبع الشهادات ورقة بعد ورقة أمر ممل جداً

المطلوب أن يكون بورقة الشهادات 3 أكواد مرتبطين ب3 زراير

الكود الأول طبع الورقة الحالية

الكود الثانى طبع جميع الشهادات

الكود الثالث (المطلوب حالياً) طبع الشهادات من الورقة الحالية حتى آخر شهادة

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

الف شكر مقدماً

يمكن التطبيق على أى من الملفات المرفقة بالأعلى

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information