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

تحديد نطاق طباعة متغير


إذهب إلى أفضل إجابة Solved by بن علية حاجي,

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

السلام عليكم

يوجد ملف يوجد به مجموعه بيانات 

عدد الاعمده ثابت لكن عدد الصفوف متغير بالزياده او النقص

المطلوب تحديد نطاق الطباعه عند تغير البيانات في اخر صف 

بحث يكون اخر صف به بيانات هو نطاق الطباعه

اخي الكريم العيدروس

مرفق الملف

المطلوب

هو ان يتم تحديد كامل البيانات في نطاق واحد وليس اكثر من نطاق

برنامج ايجار.xlsm

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

السلام عليكم

استعمل لذلك الدالة OFFSET -مثلا- (أو DECALER بالفرنسية) في معادلة نطاق الطباعة... وفي الموقع تجد الكثير من الأمثلة على ذلك...

بن علية حاجي

جرب المرفق لعل فيه ما تريد.... تم تسمية نطاق البيانات في ورقة "تأخير" بالتسمية Plage ثم إرفاق هذه التسمية بنطاق الطباعة لهذا الشيت....

بن علية حاجي

برنامج ايجار.xlsm

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

استاذي الكريم

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

 

 

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

بعد إذن الأساتذة الأفاضل العيدوس وابن علية

الملف ليس به مشكلة والمشكلة في إعدادت الطباعة وتم التعديل

جرب الملف

برنامج ايجار (1).xlsm

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

استاذ احمد لا يوجد تغير في الملف كما هو الحال

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

والاستاذ بن علية تفضل وحل الجزء الاول وهو زياده الصفوف بيتم زياده النطاق 

ولكن عند نقص البيانات من الصفوف لو ينقص نطاق الطباعه

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

برنامج ايجار (1).xlsm

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

السلام عليكم

إذا قمت بتعيين ناحية الطباعة للورقة يدويا (في إعدادت الصفحة مثلا) فقد ألغيت عملية تحديد ناحية الطباعة آليا؟ ألق نظرة في التسميات وخاصة في ناحية الطباعة لشيت "تأخير" تجد أني حددته بالمعادلة Plage= ويمكن أن نحددها آليا بواسطة كود VBA في حدث هذا الشيت باستعمال دائما التسمية Plage فهذا يكون آمنا... التسمية Plage مرتبطة بقيم العمود A (من الصف 1 إلى رقم صف آخر خلية غير خالية من العمود A)...

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

بن علية حاجي

برنامج ايجار (1).xlsm

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

  • أفضل إجابة

السلام عليكم

تم إنشاء الكود التالي في حدث الشيت "تأخير":

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.PageSetup.PrintArea = [Plage].Address
End Sub

وهذا الكود يضمن أن تتحدد ناحية الطباعة آليا بالزيادة والنقصان (حسب قيم العمود A)...

كل ذلك في الملف المرفق...

بن علية حاجي

برنامج ايجار.xlsm

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

اخ ايهاب 

هل تريد جميع الصفحات في مدى واحد

ام كل ورقة في صفحة منفردة ؟

اذا كان طلبك صفحة منفردة فالكود

السابق بيعمل معك تمام

 

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

السلام عليكم

كلتا الحالتين (الطريقتين) تحتاج إلى إنشاء التسمية الخاصة بالنطاق المراد طباعته وتسميتها في الملف Plage بالمعادلة التالية (التي يمكن أن تجدها في قائمة التسميات):

=OFFSET(تأخير!$B$1:$Q$1;;;MAX(IF(تأخير!$A$1:$A$10000>0;ROW(تأخير!$A$1:$A$10000))))

(يمكن استعمال معادلة أخرى بدوال أخرى وفي المنتدى تجد الكثير من الأمثلة على ذلك)

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

* الطريقة الأولى: تحديد "ناحية الطباعة" للشيت "تأخير" في التسميات (بعد تعيينها يدويا أو عن طريق إعدادات الصفحة) بتغيير معادلتها بالمعادلة :

=Plage

* الطريقة الثانية : إدراج الكود التالي (نسخ ولصق):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveSheet.PageSetup.PrintArea = [Plage].Address
End Sub

في كود حدث الشيت "تأخير"...  

وليس لي شرح آخر...

بن علية حاجي

  • Like 1
  • Thanks 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