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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته أعزائي وأخواني الافاضل قم بتصميم برنامج متابعة إجازات الموظفين ببرنامج الاكسل 365 ويوجد في هذا البرنامج ورقتين عمل الورقة الاولى اسمهاAllData في هذه الورقة أقوم بكتابة اسم الموظف وبداية تاريخ الاجازة ونهاية تاريخ الاجازة وعدد أيام الاجازة ونوعها. الورقة الثانية اسمها Report وهي تقوم بإظهار الاجازات لكل موظف.

المطلوب:

بعد كتابة إجازة الموظف في ورقة AllData أريد عند الذهاب إلى ورقة الـReport يتم البحث على اسم الموظف وكتابة نوع الاجازة حسب بداية تاريخ الاجازة وتاريخ نهاية الاجازة أتوماتيك.

ولكم جزيل الشكر والعرفان سلفاً. مرفق لكم ملف لتوضيح

Vacation System - Copy.xlsx

قام بنشر

جرب


Sub UpdateReport()
    Dim wsAllData As Worksheet
    Dim wsReport As Worksheet
    Dim lastRowAllData As Long
    Dim lastRowReport As Long
    Dim i As Long, j As Long
    
    ' تعيين الأوراق
    Set wsAllData = ThisWorkbook.Sheets("AllData")
    Set wsReport = ThisWorkbook.Sheets("Report")
    
    ' العثور على آخر صف في كل ورقة
    lastRowAllData = wsAllData.Cells(wsAllData.Rows.Count, "A").End(xlUp).Row
    lastRowReport = wsReport.Cells(wsReport.Rows.Count, "A").End(xlUp).Row
    
    ' مسح بيانات الورقة الثانية
    If lastRowReport > 1 Then
        wsReport.Range("A2:D" & lastRowReport).ClearContents
    End If
    
    ' البحث وتحديث بيانات الورقة الثانية
    For i = 2 To lastRowAllData
        For j = 2 To lastRowReport
            If wsAllData.Cells(i, 1).Value = wsReport.Cells(j, 1).Value Then
                wsReport.Cells(j, 2).Value = wsAllData.Cells(i, 3).Value ' بداية التاريخ
                wsReport.Cells(j, 3).Value = wsAllData.Cells(i, 4).Value ' نهاية التاريخ
                wsReport.Cells(j, 4).Value = wsAllData.Cells(i, 5).Value ' نوع الاجازة
            End If
        Next j
    Next i
End Sub

 

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

تفضل اخي طبق الاتى

 إليك كيفية تحويل الكود إلى معادلات:

1. في الخلية B2 في ورقة "Report"، استخدم الدالة VLOOKUP للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة بداية التاريخ.
   
   


=VLOOKUP(A2, AllData!$A$2:$E$1000, 3, FALSE)

2. في الخلية C2، استخدم الدالة VLOOKUP مرة أخرى للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة نهاية التاريخ.
   


=VLOOKUP(A2, AllData!$A$2:$E$1000, 4, FALSE)

3. في الخلية D2، استخدم الدالة VLOOKUP للبحث عن القيمة في الخلية A2 من ورقة "AllData" واسترجاع قيمة نوع الاجازة.
   
   


=VLOOKUP(A2, AllData!$A$2:$E$1000, 5, FALSE)

   

تأكد من تغيير نطاق البحث وفقًا لموقع البيانات الخاصة بك في ورقة "AllData

1. افتح برنامج Excel وقم بإنشاء ورقة عمل جديدة.

2. قم بنسخ البيانات الخاصة بك من ورقة "AllData" إلى الورقة الجديدة.

3. في العمود الأول (الخانة A) في الورقة الجديدة، قم بوضع القيم التي تريد البحث عنها في ورقة "AllData".

4. في العمود الثاني (الخانة B)، استخدم الدالة VLOOKUP للبحث عن بداية التاريخ.

5. في العمود الثالث (الخانة C)، استخدم الدالة VLOOKUP للبحث عن نهاية التاريخ.

6. في العمود الرابع (الخانة D)، استخدم الدالة VLOOKUP للبحث عن نوع الاجازة.

7. ضع المعادلات في الصفوف التي ترغب فيها للبحث عن البيانات.

 

هذه الخطوات يمكن أن تنتج نفس النتائج التي يقوم بتحقيقها الكود السابق 

تم تعديل بواسطه abouelhassan
  • 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