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

طباعة تقرير منفرد لكل اسم


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

مطلوب طباعة تقرير منفرد لكل اسم مع تغير البيانات الخاصة لكل فرد عند الضغط على اسم او رقم الفرد بمعنى تدون البيانات الخاصة بكل اسم على حده ، وعند طباعتها تطبع بالنسيق المطلوب علما بان التقرير سيكون تنسيقتقرير.rarه ثابت بنفس الخلايا في كل تقرير ولاتكون اوراق متعددة .

تقرير.rar

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

أخي الكريم مرسال

يرجى تغيير اسم الظهور للغة العربية

بالنسبة للملف المرفق غير معبر عن الطلب .. لا يوجد بالملف المرفق سوى جدول به أسماء وفقط ..أين التقرير المطلوب العمل عليه ؟؟

ما هو شكل التقرير المتوقع ؟ وهل التقرير سيكون في ورقة عمل واحدة يمكنك من خلالها اختيار الاسم والحصول على تقرير له ؟ أم أنك تريد عمل تقرير منفصل لكل اسم في ورقة عمل منفصلة ...

الأفضل ترفق لنا شكل التقرير المطلوب .. شكل النتائج المتوقعة ... وآلية العمل ..؟ هل سيتم الاعتماد على خلية محددة أم أنك تريد استخراج التقارير كلها مرة واحدة ؟؟؟

تقبل تحياتي

 

images.jpg.db3d3adea96c387dba630b33964c4

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

اولا : شكرا اخي ياسر  على الرد والاهتمام وجزاك الله عنا خيرا

ثانيا : التقرير منفصل لكل اسم اري ان اكتب بيانات التقرير وهو عبارة عن تقرير سنوي للعامل وهو غالبا جاهز اي مطبوع لكن اريد طباعة بيانات العامل عليه اي كتابة البيانات بجوار كال اسم ومن ثم ترحيلها الى خلايا معينة عند الضغط على الاسم او ارقم مع اني جربت الارتباط التشعبي ولكن سيتطلب ورقة خاصة لكل عامل علما بان العدد تقريبا 200 اسم .

شكرا لسعة صدركم تقرير.rar

تقرير.rar

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

أخي الكريم مرسال

يرجى تغيير اسم الظهور للغة العربية ..

قمت بتغيير شكل الملف قليلاً لسهولة التعرف على كيفية التعامل مع البيانات بشكل صحيح .. لأن الملف المرفق من قبلك غير معبر بعض الشيء

عموماً يمكنك التعديل بسهولة على الملف وعلى الكود

يوضع الكود في حدث ورقة العمل المسماة Sheet1 .. كليك يمين على اسم ورقة العمل Sheet1 ثم اختر الأمر View Code ثم الصق الكود التالي ..ثم انقر دبل كليك في عمود الاسم ليتم إعداد التقرير للاسم الذي قمت بالنقر عليه دبل كليك وإذا كانت الخلية فارغة يتم مسح محتويات التقرير

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Column = 3 And Target.Row > 3 Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
            Cancel = True
            
            Dim Sh As Worksheet, lRow As Long
            Set Sh = Sheets("التقرير")
            lRow = Target.Row
            
            With Sh
                .Range("D5,D7,H8,H11,D11").Value = ""
                If Not IsEmpty(Target) Then
                    .Range("D5").Value = Date
                    .Range("D7").Value = Cells(lRow, "C").Value
                    .Range("H8").Value = Cells(lRow, "D").Value
                    .Range("H11").Value = Cells(lRow, "E").Value
                    .Range("D11").Value = Cells(lRow, "F").Value
                    MsgBox "تم إعداد تقرير للموظف " & Cells(lRow, "C").Value & " في ورقة التقرير", 64
                End If
            End With
            
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

تقبل تحياتي

images.jpg.e07e281f148aaff43ebd50967a7db

Single Report For Each Name Worksheet Double Click YasserKhalil.rar

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

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

من قلبي شكرا لك اخي ياسر وجزاك الله عنا خير الجزاء

والكود يفي بالمطلوب لكن هل ممكن عند الضغط دبل كليك على الاسم يفتح شيت التقرير بدلا من رسالة تم عمل التقرير ؟

تقبل تحياتي وجميع الاخوه القائمين على المنتديات .

وشكرا

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

أخي الكريم مرسال

ما زلت أتمنى تغيير اسم ظهورك للغة العربية (راجع موضوع التوجيهات التوجيه العاشر)

الحمد لله أن تم المطلوب على خير ..

بالنسبة لطلبك الأخير ..قم بحذف سطر الرسالة

 MsgBox "تم إعداد تقرير للموظف " & Cells(lRow, "C").Value & " في ورقة التقرير", 64

وضع سطر يشير إلى ورقة التقرير

.Activate

تقبل تحياتي

images.png.424dd61ce6be251b96dcc2dffe2ca

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

في ٩‏/١‏/٢٠١٦ at 02:15, ياسر خليل أبو البراء said:

أخي الكريم مرسال

يرجى تغيير اسم الظهور للغة العربية ..

قمت بتغيير شكل الملف قليلاً لسهولة التعرف على كيفية التعامل مع البيانات بشكل صحيح .. لأن الملف المرفق من قبلك غير معبر بعض الشيء

عموماً يمكنك التعديل بسهولة على الملف وعلى الكود

يوضع الكود في حدث ورقة العمل المسماة Sheet1 .. كليك يمين على اسم ورقة العمل Sheet1 ثم اختر الأمر View Code ثم الصق الكود التالي ..ثم انقر دبل كليك في عمود الاسم ليتم إعداد التقرير للاسم الذي قمت بالنقر عليه دبل كليك وإذا كانت الخلية فارغة يتم مسح محتويات التقرير


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Column = 3 And Target.Row > 3 Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
            Cancel = True
            
            Dim Sh As Worksheet, lRow As Long
            Set Sh = Sheets("التقرير")
            lRow = Target.Row
            
            With Sh
                .Range("D5,D7,H8,H11,D11").Value = ""
                If Not IsEmpty(Target) Then
                    .Range("D5").Value = Date
                    .Range("D7").Value = Cells(lRow, "C").Value
                    .Range("H8").Value = Cells(lRow, "D").Value
                    .Range("H11").Value = Cells(lRow, "E").Value
                    .Range("D11").Value = Cells(lRow, "F").Value
                    MsgBox "تم إعداد تقرير للموظف " & Cells(lRow, "C").Value & " في ورقة التقرير", 64
                End If
            End With
            
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

تقبل تحياتي

images.jpg.e07e281f148aaff43ebd50967a7db

Single Report For Each Name Worksheet Double Click YasserKhalil.rar

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

 

 

استاذي الفاضل  لو تكرمت ممكن تشرح لي اسطر الاكواد هذي عشان اقدر اطبقها على اي جدول انا حابه اعمل فيه تقرير بالاكسل ؟ عندي خلفية باللوغارثيم البرمجة لكن اجهل الفيجوال بيسك فيا حبذا تكتب لي كومنت جنب كل سطر برمجي ايش وظيفته ان تكرمت وجزاك الله خير 

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

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

أخي الكريم صداكم

أهلاً بك في المنتدى ونورت بين إخوانك

يرجى الإطلاع على الموضوع التالي فيه بدايات التعامل مع الأكواد وكيف تتمكن من البدء ..

بداية الطريق لإنقاذ الغريق

ستجد فيه الكثير من الاستسفارات المبدئية ..اطلع على الموضوع وإذا واجهتك أي مشكلة لا تتردد في طرح موضوع جديد ..

في انتظاااااااااااااارك

index.jpg.ce809f74b000e3fca03b289217f657

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

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

هذا بخصوص رسالة التنبيه واستوعبت المشكلة ، لكن لو افترضنا اني حفظت الملف بالامتداد المطلوب وارسلت الملف لشخص اخر هل راح يشتغل معه الماكرو ؟ او راح يوواجه رسالة تحذير عمل ماكرو بجهازه ؟ لان في ناس تخاف يكون فايروس فترفض فتح الملف 

وايضًا جزاك الله خير انا بحاجة ماسة للكود اعلاه لكن بملف مختلف واستطيع التعديل عليه ان شرحت لي بكلمات معدودة لكل سطر برمجي ايش وظيفته فقط ان امكنك ذلك ونفع الله بك 

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

أخي الكريم صداكم

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

لابد من تمكين إعدادات الماكرو لتعمل الأكواد .. وكما قلت ربما يحوي الكود على أسطر تشبه عمل الفيروسات ..فيمكن باستخدام الأكواد مسح الملفات والمجلدات في بارتشن بالكامل ..

لذا يجب الحذر والحيطة والإطلاع على الكود قبل تجربته ...

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

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'يوضع الكود في حدث ورقة العمل ويتم التنفيذ عند النقر المزدوج على الخلايا التي سنقوم بتحديدها
'-------------------------------------------------------------------------------------------
    'سطر في حالة أن عدد الخلايا التي سيتم التعامل معها أكبر من خلية يتم الخروج من الإجراء
    'حيث أن المطلوب التعامل مع خلية واحدة فقط في كل مرة لذا وجب الحيطة والحذر وتحديد خلية واحدة
    If Target.Cells.CountLarge > 1 Then Exit Sub
    
    'هذا السطر هو الذي يحدد نطاق الخلايا التي ستتمكن من التعامل معها وهي في العمود الثالث
    'وأيضاً التعامل سيكون في الصفوف الأكبر من الصف الثالث [C] حيث أننا جعلنا عمود الخلية الهدف يساوي 3 أي العمود
    'أي أنه سيتم استثناء الصف الأول والثاني والثالث ويتم التعامل مع الصفوف بدايةً من الصف الرابع
    If Target.Column = 3 And Target.Row > 3 Then
    
        'سطر لإلغاء تحديث الشاشة وكذلك إلغاء تمكين الأحداث وهذا الإلغاء يسرع من عمل الكود
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        
            'عدم السماح بالتعديل في الخلايا الهدف أي أن الخلايا في العمود الثالث
            'بدايةً من الصف الرابع لن تتمكن في التعديل عليها بالنقر المزدوج كما
            'هو الحال في بقية الخلايا .. وهذا لا يعني أنك لا تستطيع التعديل على الخلايا
            'من لوحة المفاتيح [F2] يمكن التعديل باستخدام مفتاح
            'أما التعديل عن طريق النقر المزدوج فممنوع في الخلايا المحددة
            Cancel = True
            
            'تعريف المتغيرات الأول لورقة العمل التي سنقوم بترحيل البيانات إليها
            'والمتغير الثاني لمعرفة صف الخلية الهدف التي سيتم التعامل معها
            Dim Sh As Worksheet, lRow As Long
            
            'تعيين قيمة للمتغير ليساوي ورقة العمل المسماة التقرير
            Set Sh = Sheets("التقرير")
            
            'تعيين قيمة للمتغير ليساوي صف الخلية الهدف
            lRow = Target.Row
            
            'بدء التعامل مع ورقة التقرير
            With Sh
                'مسح البيانات الموجودة في الخلايا المحددة في السطر
                .Range("D5,D7,H8,H11,D11").Value = ""
                
                'شرط ألا تكون الخلية الهدف فارغة أما إذا كانت فارغة فلن يتم تنفيذ الكود
                If Not IsEmpty(Target) Then
                
                    'تساوي التاريخ الحالي [D5] الخلية
                    .Range("D5").Value = Date
                    
                    'تساوي القيمة الموجودة في العمود الثالث في نفس صف الخلية الهدف [D7] الخلية
                    .Range("D7").Value = Cells(lRow, "C").Value
                    
                    'تساوي القيمة الموجودة في العمود الرابع في نفس صف الخلية الهدف [H8] الخلية
                    .Range("H8").Value = Cells(lRow, "D").Value
                    
                    'تساوي القيمة الموجودة في العمود الخامس في نفس صف الخلية الهدف [H11] الخلية
                    .Range("H11").Value = Cells(lRow, "E").Value
                    
                    'تساوي القيمة الموجودة في العمود السادس في نفس صف الخلية الهدف [D11] الخلية
                    .Range("D11").Value = Cells(lRow, "F").Value
                    
                    'إظهار رسالة تفيد بأنه تم إعداد التقرير للموظف ثم ذكر اسم الموظف الموجود في العمود الثالث
                    MsgBox "تم إعداد تقرير للموظف " & Cells(lRow, "C").Value & " في ورقة التقرير", 64
                    
                'انتهاء جملة الشرط
                End If
            'انتهاء التعامل مع ورقة التقرير
            End With
           
        'استعادة الإعدادت التي تم إلغائها في بداية الكود
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

تقبل تحياتي

index.jpg.9801ca54a0fab0d48f944e3aa85816

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

الحمد لله إخواني أن أعجبكم الشرح واستفدتم منه

بارك الله فيكم وفي انتظار ابداعاتكم بالمنتدى .. على قدر ما تعطي ستتعلم

images.jpg.13dfc677108d58b8dc13c5e794b83

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

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

مطلوب ترحيل بيانا من ورقه 1 الى ورقه 2 عند تغيير وقت الدوام دخول وخروج فقط في الصفوف التي يتم تغيير الاوقات بها وكود يمنع تكرار البيانات بالصفوف .

شكر لكم وجزاكم الله خير الجزاء .

shift.rar

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

أخي الكريم مرسال

يرجى الإطلاع على موضوع التوجيهات في الموضوعات المثبتة

إذا كان طلبك الجديد مختلف عن الموضوع يرجى طرح موضوع جديد ليشارك فيه أكبر عدد من الأخوة الكرام بالمنتدى

تقبل تحياتي

  • 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