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

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

قام بنشر

السلام عليكم

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

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

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

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

وكل عام وأنتم بخير :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:

قام بنشر

أخ محمد لقد عمل الكود

ولكن مع اصراره على الخلية a1 رفم أني قمت بتغييرها فأبقيتها على a1

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

رغم أن الرقم الموجود في a1 وهو 10

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

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

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

- بالنسبة لورقة العمل ، فالرقم 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