Mohammed Alarifi قام بنشر فبراير 8 قام بنشر فبراير 8 السلام عليكم ورحمة الله وبركاته أعزائي وأخواني الافاضل قم بتصميم برنامج متابعة إجازات الموظفين ببرنامج الاكسل 365 ويوجد في هذا البرنامج ورقتين عمل الورقة الاولى اسمهاAllData في هذه الورقة أقوم بكتابة اسم الموظف وبداية تاريخ الاجازة ونهاية تاريخ الاجازة وعدد أيام الاجازة ونوعها. الورقة الثانية اسمها Report وهي تقوم بإظهار الاجازات لكل موظف. المطلوب: بعد كتابة إجازة الموظف في ورقة AllData أريد عند الذهاب إلى ورقة الـReport يتم البحث على اسم الموظف وكتابة نوع الاجازة حسب بداية تاريخ الاجازة وتاريخ نهاية الاجازة أتوماتيك. ولكم جزيل الشكر والعرفان سلفاً. مرفق لكم ملف لتوضيح Vacation System - Copy.xlsx
abouelhassan قام بنشر فبراير 8 قام بنشر فبراير 8 جرب 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 1
Mohammed Alarifi قام بنشر فبراير 9 الكاتب قام بنشر فبراير 9 شكراً لك أخي الكريم abouelhassan على الرد ممكن أعمل هذا الشي باستخدام دوال الاكسل وليس الــ VBA.
abouelhassan قام بنشر فبراير 12 قام بنشر فبراير 12 (معدل) تفضل اخي طبق الاتى إليك كيفية تحويل الكود إلى معادلات: 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. ضع المعادلات في الصفوف التي ترغب فيها للبحث عن البيانات. هذه الخطوات يمكن أن تنتج نفس النتائج التي يقوم بتحقيقها الكود السابق تم تعديل فبراير 12 بواسطه abouelhassan 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.