Kareem_Abolfotoh قام بنشر ديسمبر 24, 2020 قام بنشر ديسمبر 24, 2020 السلام عليكم أساتذتى الكرام , أرجو منكم التلطف على مساعدتى فى الملف عبارة عن تغيرات الرواتب ورصيد الأجازت للموظفين ، بحيث أن أي تغيير يطرأ على الرواتب أو رصيد الاجازات يتم تسجيله كل حسب تاريخه المطلوب .. هو إيجاد آخر زيادة في الراتب حصل عليها الموظف .. وكما هو موضح في الفلتر .. فإن هذا الموظف حصل على بدل إضافي تم إضافته وقدره 35000 في تاريخ 1فبراير 2015 وبعدها في 2017 زاد رصيد اجازته ليكون 30 بدلا من 25 ... أنا لا أهتم برصيد الأجازت أرغب في أن يتم تفقد التواريخ للموظف وإظهار آخر تاريخ زاد فيه الإجمالي ويظهر آخر راتب اساسي وبدل سكن وبدل نقل وإضافي وقيمة الزيادة تم تعديل رفع الملف , لا ينبغى رفع الملف مضغوط طالما حجمه صغير Salary Change.xlsm
Ali Mohamed Ali قام بنشر ديسمبر 24, 2020 قام بنشر ديسمبر 24, 2020 وعليكم السلام-لك ما طلبت Salary Change1.xlsm 2
سليم حاصبيا قام بنشر ديسمبر 24, 2020 قام بنشر ديسمبر 24, 2020 الكود في حدث الصفحة Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("B3")) Is Nothing _ And Target.Count = 1 And Target <> vbNullString Then Filter_me End If Application.EnableEvents = True End Sub الكود المطلوب للفلتره Option Explicit Sub Filter_me() Dim Rg As Range Dim Sh As Worksheet Dim Cret, cel As Range Dim Dic As Object Dim st1, st, i Set Dic = CreateObject("Scripting.dictionary") Set Sh = Sheets("Sheet1") Sh.Range("C3").Resize(, 6).ClearContents Sh.AutoFilterMode = False Set Rg = Sh.Range("A8").CurrentRegion If IsEmpty(Sh.Range("b3")) Then Exit Sub Cret = Sh.Range("b3") Rg.AutoFilter 1, Cret For Each cel In Rg.Columns(1).SpecialCells(12).Cells st1 = cel & "*" & cel.Offset(, 1) & "*" & cel.Offset(, 2) st = cel & "*" & cel.Offset(, 1) & "*" & cel.Offset(, 2) _ & "*" & cel.Offset(, 3) & "*" & cel.Offset(, 4) & "*" & cel.Offset(, 5) _ & "*" & cel.Offset(, 6) If Not Dic.Exists(st1) Then Dic(st1) = st End If Next With Sh.Range("C3") .Value = Split(Dic.Items()(Dic.Count - 1), "*")(1) .Offset(, 5) = Split(Dic.Items()(Dic.Count - 1), "*")(2) For i = 1 To 4 .Offset(, i) = Split(Dic.Items()(Dic.Count - 1), "*")(i + 2) Next End With Sh.AutoFilterMode = False Set Dic = Nothing End Sub الملف مرفق Salary Ch.xlsm
Kareem_Abolfotoh قام بنشر ديسمبر 24, 2020 الكاتب قام بنشر ديسمبر 24, 2020 اولا .. جزاكم الله خيرا على المحاولة.، ولكن الملف لا يعمل بالشكل المطلوب الموظف رقم 1007 اخر زيادة له ١ فبراير ٢٠١٥ وقيمة الزيادة ٣٥٠٠٠، اي تواريخ أخرى غير خاصة بالزيادة اريد ان يتم تجاهلها وجزاكم الله خير أرجو منكم تزويدي برقم للتواصل معكم شخصيا لتوضيح الفكرة أرجو دعمكم... جزاكم الله خير
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.