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

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

قام بنشر

السادة الخبراء

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

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

اريد عند اخفاء صف لا يتم طباعة الشهادة الخاصة به

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

ولكم جزيل الشكر

 

شهادة.rar

قام بنشر

السلام عليكم

جرب التعديل التالي .. في كود طباعة كل الشهادات

Sub pallshehadat()
    Dim x As Variant

    Application.ScreenUpdating = False
        ActiveSheet.PageSetup.Zoom = 80
        ActiveSheet.PageSetup.PrintArea = "$B$8:$I$35"
        Range("C2").Select
        ActiveCell.FormulaR1C1 = "1"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        
        Do
            ActiveCell = ActiveCell + 1
            x = Application.Match(Range("B15"), Sheets("يناير").Columns(2), 0)
            If Not IsError(Application.Match(Range("B15"), Sheets("يناير").Columns(2), 0)) Then
                If Sheets("يناير").Cells(x, "AT").Value <> 1 Then
                    ActiveWindow.SelectedSheets.PrintOut
                End If
            End If
        Loop Until ActiveCell.Value = Range("C3").Value
        Range("C13").Select
    Application.ScreenUpdating = True
End Sub

 

قام بنشر

استاذ ابو البراء

يعجز لسانى على شكرك

ممكن لو سمحت شرح لهذه الجزئية

 x = Application.Match(Range("B15"), Sheets("يناير").Columns(2), 0)
    If Not IsError(Application.Match(Range("B15"), Sheets("يناير").Columns(2), 0)) Then
             

جزاك الله كل خيرا

 

قام بنشر

الفكرة في البحث عن الاسم في ورقة العمل "يناير" في العمود الثاني ثم بالاعتماد على رقم الصف يتم اختبار العمود AT فإذا كان لا يساوي القيمة 1 يتم عمل الكود والطباعة ..

وجزيت خيراً بمثل ما دعوت لي وكل عام وأنت بخير

  • Like 1
قام بنشر

الف شكر استاذ ابو البراء

و لكن لى ملحوظة الاسماء عندى تبداء من B14

و حضرتك فى الكوم كاتب B15

و عند كتابة 1 امام صف 14 يطبع الشهادة

وعند تغير الكود الى B14 طبع الشهادة ايضاً

اريد ان يكون الكود من اول B14

ولا يطبع اذا كتبت فى صف الاول

 

توضيح

الفكرة لو اول سطر مش عايزة يطبع

ماذا افعل

 

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

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

حل آخر تم فيه ما يلي:

1- تعديل في معادلة التسلسل في العمود A من شيت "يناير" (حتى لا يتم ترقيم الصفوف التي في خلايا العمود AT الرقم 1)

2- إضافة عمود مساعد (العمود AU) لتحديد القائمة دون الفراغات (لأجل عنصر القائمة المنسدلة في شيت "شهادة") مع إضافة التسمية List لهذه القائمة باستعمال خاصية النطاقات الديناميكية وذلك باستعمال الدالة OFFSET ثم ربط هذه التسمية بعنصر القائمة المنسدلة..

3- كود الطباعة لم يتم التعديل عليه ما عدا فيما يخص ناحية الطباعة من العمود A  إلى العمود H بدلا من العمود A إلى العمود I

كل هذا تجده في الملف المرفق...

بن علية حاجي

شهادة.rar

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

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

هذا تعديل على كود أخي العزيز أبو البراء لعله يفي بالغرض المطلوب...

Sub pallshehadat()
    Dim x As Long

    Application.ScreenUpdating = False
        ActiveSheet.PageSetup.Zoom = 80
        ActiveSheet.PageSetup.PrintArea = "$B$8:$H$35"
        Range("C2").Select
        ActiveCell.Value = 0
    On Error Resume Next
        Do
            ActiveCell.Value = ActiveCell.Value + 1
            x = Application.Match(Range("C2"), Sheets("يناير").Range("A:A"), 0)
            If Sheets("يناير").Cells(x, "AT").Value <> 1 Then ActiveWindow.SelectedSheets.PrintOut
        Loop Until ActiveCell.Value = Range("C3").Value
        Range("C13").Select
    Application.ScreenUpdating = True
End Sub

بن علية حاجي

  • 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