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

طباعة كل الصفحات من خلال أحد وسائط الدالة vlookup


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

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

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

وسؤالى الآن هل يمكننى طباعة ال 12 صفحة(فى ورقة عمل واحدة ) دفعة واحدة من خلال كود مثلاً بدلاً من اختيار 1 ثم 2 ثم 3 ...الخ

مرفق الملف 

الملف.zip

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

السلام عليكم أخي الفاضل

من المفتروض والإفتراضي في الإكسل انك لما تضغط طباعة يقوم بطباعة كافة الصفحات الموجودة في نفس الشيت

وتأكد ان الإعدادات كالمرفق

All وهي لطباعة كل الصفحات في الشيت الواحد

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

 

لو حطيت العلامة في Active Sheet هيتم طباعة كل الصفحات في الشيت النشط فقط

ومش عارف ده رد على سؤالك ولا انا لسه مش فاهم الاستفسار جيدا

post-83210-0-58609500-1433220980_thumb.p

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

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

اخى واستاذى الاستاذ / على الشيخ 

أولا / شاكر لحضرتك اهتمامك ومتابعتك لطلب 

ثانيا أنا فى غاية الأسف لأنى ما عرفتش أوصل المعلومة أو السؤال كويس 

لكن ليس هذا ما اقصده 

كيف يمكننى طباعة نواتج الدالة vlookup  دفعة واحدة من خلال القائمة الموجودة فى الشيت توصيف خدمات - أو توصيف طلائع - أو توصيف رياضة كما فى الملف المرفق 

حيث أنه فى كل مرة يتم اختيار رقم 1 ثم طباعة و 2 ثم طباعة فأنا أريد أن أطبع كل الصفحات الموجودة فى القائمة 

كما فى الصورة فى المرفق

post-119800-0-52990400-1433231351_thumb.

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

  • أفضل إجابة

أخي الكريم ياسر نوح

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

 

التوضيح والتفصيل للطلب يسهل الوصول لحل إذ أن الفكرة كيف لي أن أساعدك وأنا لا أفهم المطلوب ، ففهم المطلوب عليه عامل 90% من الوصول للحل ، حتى لو كان المطلوب صعب ..

المهم إليك الكود التالي (طبعاً كما فهمت من الصورة ورقة العمل المطلوب الكود بها هي "توصيف رياضة")

Sub M_ELSHRIEF()
    Dim Answer As Long, lCount As Long
    Answer = MsgBox("هل تود الطباعة بعد المعاينة ؟", vbYesNo + vbQuestion, "طباعة")
    If Answer = vbYes Then
'[L2] حلقة تكرارية من 1 إلى 12 ليتم وضع قيم الحلقة في الخلية
        For lCount = 1 To 12
'بدء التعامل مع ورقة العمل النشطة
            With ActiveSheet
                .Range("L2").Value = lCount
'هذا السطر لمعاينة ورقة العمل النشطة
                '.PrintPreview
'طباعة ورقة العمل النشطة نسخة واحدة
                .PrintOut Copies:=1
            End With
        Next lCount
    End If
End Sub

تقبل تحياتي

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

أخي الكريم ياسر نوح

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

 

التوضيح والتفصيل للطلب يسهل الوصول لحل إذ أن الفكرة كيف لي أن أساعدك وأنا لا أفهم المطلوب ، ففهم المطلوب عليه عامل 90% من الوصول للحل ، حتى لو كان المطلوب صعب ..

المهم إليك الكود التالي (طبعاً كما فهمت من الصورة ورقة العمل المطلوب الكود بها هي "توصيف رياضة")

Sub M_ELSHRIEF()
    Dim Answer As Long, lCount As Long
    Answer = MsgBox("هل تود الطباعة بعد المعاينة ؟", vbYesNo + vbQuestion, "طباعة")
    If Answer = vbYes Then
'[L2] حلقة تكرارية من 1 إلى 12 ليتم وضع قيم الحلقة في الخلية
        For lCount = 1 To 12
'بدء التعامل مع ورقة العمل النشطة
           Range("$A$1:$l$42").With ActiveSheet
                .Range("L2").Value = lCount
'هذا السطر لمعاينة ورقة العمل النشطة
                '.PrintPreview
'طباعة ورقة العمل النشطة نسخة واحدة
                .PrintOut Copies:=1
            End With
        Next lCount
    End If
End Sub

تقبل تحياتي

 

يعلم الله أنى أحببتكم فى الله 

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

واخص بالشكر وكل الشكر للأستاذى الاستاذ ياسر خليل ابو البراء 

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

بالفعل انا قصرت فى التوضيح وطرح السؤال لكن ربما يكون مردوده الوقت الضيق 

شكراً لحضرتك انا جربت الكود وبالفعل قام بطباعة كل الصفحات 

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

لكن حتى لا اكون ثقيل عليكم 

واسمح لى قمت بإجراء تعديل بسيط على كود حضرتك بتحديد رنج معين حتى يقوم بطباعة صفحة واحدة فقط 

شكرا لحضرتك وشكرا لهذا المنتدى الرائع 

بارك الله لكم 

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

أخي الكريم ياسر نوح

مشكور على كلماتك الطيبة وشعورك النبيل

 

جرب التعديل في الكود بهذا الشكل

Sub M_ELSHRIEF()
    Dim Answer As Long, lCount As Long
    Dim iStart As Integer, iEnd As Integer
    Answer = MsgBox("هل تود الطباعة بعد المعاينة ؟", vbYesNo + vbQuestion, "طباعة")
    On Error Resume Next
    If Answer = vbYes Then
        iStart = InputBox("أدخل بداية الحلقة التكرارية من 1 إلى 12", "YasserKhalil", 1)
        iEnd = InputBox("أدخل نهاية الحلقة التكرارية من 1 إلى 12", "YasserKhalil", 12)
'[L2] حلقة تكرارية من 1 إلى 12 ليتم وضع قيم الحلقة في الخلية
        For lCount = iStart To iEnd
'بدء التعامل مع ورقة العمل النشطة
            With ActiveSheet
                .Range("L2").Value = lCount
'هذا السطر لمعاينة ورقة العمل النشطة
                .PrintPreview
'طباعة ورقة العمل النشطة نسخة واحدة
                '.PrintOut Copies:=1
            End With
        Next lCount
    End If
End Sub

تقبل تحياتي

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

جزيت خير الجزاء أخي ياسر نوح على دعائك الطيب المبارك ولك بمثل إن شاء الله

وأشكرك عميق الشكر على الالتزاااااااام بالتوجيهات وتحديد أفضل إجابة ليظهر المنتدى بالمظهر اللائق

  • 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