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

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

قام بنشر

السلام عليكم ورحمة الله وبركاته أعزائي وأخواني الافاضل قم بتصميم برنامج متابعة إجازات الموظفين ببرنامج الاكسل 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

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information