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

طباعة عدة صفحات


smart

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

السلام عليكم

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

ارجو أن أكون واضحا في نقل رسالتي لكم

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

فكيف أحدد زر ماكرو بحيث يقوم بطابعة العدد الموجود في تلك الخلية

وكل عام وأنتم بخير :fff:

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

السلام عليكم ...

جرب الكود التالي :

Sub PrintPages()
  NumberPages = InputBox("أدخل عدد الصفحات التي تريد طباعتها", "طباعة")
  Worksheets(1).PrintOut From:=1, To:=NumberPages, Copies:=1, Collate _
        :=True
End Sub

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

السلام عليكم ...

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

Sub PrintPages()
  Worksheets(1).PrintOut From:=1, To:=Worksheets(1).Range("A1").Value, Copies:=1, Collate _
       :=True
End Sub

مع مراعات كتابة عدد الصفحات في الخلية A1

بالتوفيق

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

اشكرك أخ محمد على ردك

الكود الأول شغال ولكن يجب أن تضع عدد الصفحات المنوي طباعتها فيه

الكود الثاني يبدو أن هناك شيئا يحتاج إلى تعديل

الرسالة التي يخرجها :حاول ثانية بإدخال رقم ضمن هذا32767 و1 يجب ألأن يتاروح الرقم بين هذا النطاق

رغم أني قمت باستبدال الخلية a1 بالخلية المطلوبة k1

ولك مني التحية

أبو محمد

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

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

هناك أمر نسيت أن انبهك له هو خاص بالكود الأول

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

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

:fff:

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

السلام عليكم ...

بالنسبة للكود فهو شغال عندي ، ولكن يجب الانتباه إلى الملاحظات التالية :

- بالنسبة لورقة العمل ، فالرقم 1 يدل على الورقة الأولى في الترتيب وليست الورقة ذات الاسم 1 ، ولتجعل الكود يستند لقيمة الخلية A1 في الورقة Sheet1 مثلاً يجب هنا وضع اسم الورقة بين علامتي تنصيص " " مثل الكود التالي :

Sub PrintPages()
Worksheets("Sheet1").PrintOut From:=1, To:=Worksheets("Sheet1").Range("A1").Value, Copies:=1, Collate _
     :=True
End Sub
- بالنسبة لطباعة الصفحات ، الكود محدود بالحد الأعلى للصفحات ، أي ما دام التقرير يستوعب صفحتين فقط فإنه سيقوم بطباعة هاتين الصفحتين حتى لو كانت قيمة الخلية A1 تساوي 10 مثلاً - بالنسبة لأسماء الصفحات ، الأول للصفحة المطبوعة و الثاني للصفحة التي تحتوي على الخلية A1 بالنسبة للكود الأول ، فأنا أسعى دائماً للتبسيط تكرم و تفضل الكود :
Sub PrintPages()
 NumberPages = Application.InputBox(prompt:="أدخل عدد الصفحات التي تريد طباعتها", Title:="طباعة", Type:=1)
 If NumberPages = False Then
  Exit Sub
 Else
   Worksheets(1).PrintOut From:=1, To:=NumberPages, Copies:=1, Collate _
         :=True
 End If
End Sub

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

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

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

Important Information