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

طلب ترحيل بشروط واضافه الى السابق ترحيله


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

الساده اساتذة وخبراء اكسيل

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

لى طلب بخصوص الترحيل - لدى ملف اكسيل به صفحتان الأولى خاصه بالمكافآت اللتى يحصل عليها الموظف وأخرى لتجميع المكافآت على مدار السنه .
المطلوب : عند عمل مكافآة لموضف ما فى مثلا يناير يتم ترحيلها أمام الموظف فى صفحة التجميع وتحت نفس الشهر لو أعطى مثلا مكافة آخرى أو أكثر فى نفس االشهر يتم اضافتها الى ماسبق واذا اعطى له مكافآ مثلا فى شهر فبراير يتم ترحيلها لنفس عمود الشهر وهاكذ

ولسيادتكم جزيل الشكر والعرفان

ex1.rar

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

الأستاذ الفاضل / سليم  اشكرك على  مرورك العطر

ارغب فى الترحيل من  ورقه المكافآة الى ورقه التجميع مع مراعاة  فى ورقه المكافآه اذا تم عمل  مكافآه أخرى عن نفس الشهر يتم تجميع على المكافآت الاخرى بورقه التجميع

 

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

6 ساعات مضت, سليم حاصبيا said:

جرب المرفق

 

 

ex1 salim.rar

اشكرك الأستاذ / سليم .. ليس هو المطلوب ارغب فى الترحيل من ورقه المكافآة الى ورقه التجميع  مع الأضافه الى ماسبق ترحيله لنفس الشهر

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

في هذه الحالة اليك هذا الماكرو

Sub transfer_with_ٍSalim()

Dim Sht_Source, Sht_Target As Worksheet
Dim lr1, lr2, My_Row, My_Column As Integer
Dim My_Name As String, Oldsum

Set Sht_Source = Sheets("المكافآة"): Set Sht_Target = Sheets("تجميع المكافآت على مدار العام")
 lr1 = Sht_Source.Cells(Rows.Count, 1).End(3).Row
 lr2 = Sht_Target.Cells(Rows.Count, 1).End(3).Row
 My_Column = Application.Match(Sht_Source.Range("d2"), Sht_Target.Range("c4:n4"), 0) + 2
   
  For i = 5 To lr1
         My_Name = Sht_Source.Range("b" & i).Value
         My_Row = Application.Match(My_Name, Sht_Target.Range("b5:b" & lr2), 0) + 4
        Oldsum = Sht_Target.Cells(My_Row, My_Column)
         If IsNumeric(Sht_Source.Cells(i, 3)) And IsNumeric(Oldsum) _
        Then Sht_Target.Cells(My_Row, My_Column) = Oldsum + Sht_Source.Cells(i, 3)
   Next
End Sub

 

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

الأستاذ / الفاضل سليم

كيف يتم التعديل لو كانت الأسماء ليست بنفس الترتيب مثل الملف المرفق كيف يتم التعديل على الكود  بحيث يتم ترحيل المبلغ بالأضافه الى المبلغ السابق قرين الأسم له فى فى شيت تجميع بيانات المكافآه

مرفق الملف به الكود الخاص بحضرتك

 

 

ترحيل مع تجميع.rar

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

  • أفضل إجابة
4 ساعات مضت, الصقر الحر said:

الأستاذ / الفاضل سليم

كيف يتم التعديل لو كانت الأسماء ليست بنفس الترتيب مثل الملف المرفق كيف يتم التعديل على الكود  بحيث يتم ترحيل المبلغ بالأضافه الى المبلغ السابق قرين الأسم له فى فى شيت تجميع بيانات المكافآه

مرفق الملف به الكود الخاص بحضرتك

 

 

ترحيل مع تجميع.rar

لتجاوز الاحطاء تم تعديل الكود

Sub transfer_with_ٍSalim1()

Dim Sht_Source, Sht_Target As Worksheet
Dim lr1, lr2, My_Row, My_Column As Integer
Dim My_Name As String, Oldsum
Dim My_Error As Long

Set Sht_Source = Sheets("المكافآة"): Set Sht_Target = Sheets("تجميع المكافآت على مدار العام")
 lr1 = Sht_Source.Cells(Rows.Count, 1).End(3).Row
 lr2 = Sht_Target.Cells(Rows.Count, 1).End(3).Row
 My_Column = Application.Match(Sht_Source.Range("d2"), Sht_Target.Range("c4:n4"), 0) + 2
   
  For i = 5 To lr1
   On Error Resume Next
 
         My_Name = Sht_Source.Range("b" & i).Value
         My_Row = Application.Match(My_Name, Sht_Target.Range("b5:b" & lr2), 0) + 4
         '==============================================
       My_Error = Err.Number: If My_Error <> 0 Or My_Name = "" Then GoTo 1
       Oldsum = Sht_Target.Cells(My_Row, My_Column)
       Sht_Target.Cells(My_Row, My_Column) = Oldsum + Sht_Source.Cells(i, 3)
           '==============================================
1:        My_Error = 0
   Next
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.

×
×
  • اضف...

Important Information