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

تفقد تواريخ حركة الموظف ومعرفة آخر تاريخ زيادة للموظف مع معرفة قيمة الزيادة


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

السلام عليكم أساتذتى الكرام , أرجو منكم التلطف على مساعدتى فى

الملف عبارة عن تغيرات الرواتب ورصيد الأجازت للموظفين ، بحيث أن أي تغيير يطرأ على الرواتب أو رصيد الاجازات يتم تسجيله كل حسب تاريخه

المطلوب .. هو إيجاد آخر زيادة في الراتب حصل عليها الموظف .. وكما هو موضح في الفلتر .. فإن هذا الموظف حصل على بدل إضافي تم إضافته وقدره 35000 في تاريخ 1فبراير 2015 

وبعدها في 2017 زاد رصيد اجازته ليكون 30 بدلا من 25 ... أنا لا أهتم برصيد الأجازت 

أرغب في أن يتم تفقد التواريخ للموظف وإظهار آخر تاريخ زاد فيه الإجمالي ويظهر آخر راتب اساسي وبدل سكن وبدل نقل وإضافي وقيمة الزيادة

                 

تم تعديل رفع الملف , لا ينبغى رفع الملف مضغوط طالما حجمه صغير

Salary Change.xlsm

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

الكود في حدث الصفحة

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

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

اولا .. جزاكم الله خيرا على المحاولة.، ولكن الملف لا يعمل بالشكل المطلوب

الموظف رقم 1007  اخر زيادة له ١ فبراير ٢٠١٥ وقيمة الزيادة ٣٥٠٠٠، اي تواريخ أخرى غير خاصة بالزيادة اريد ان يتم تجاهلها

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

أرجو منكم تزويدي برقم للتواصل معكم شخصيا لتوضيح الفكرة 

أرجو دعمكم... جزاكم الله خير

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

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