Mohdbns3id قام بنشر يوليو 23, 2019 قام بنشر يوليو 23, 2019 لدي جدولة موظفين عددهم يفوق ٣٥٠ موظف يعملون بنظام المناوبات Sheft فـ من الصعب البحث عن موظف معين بالطريقة البدائية لتعديل جدوله او لتغير يوم راحة او اضافة اجازة سنوية/مرضيه/اضطراريه ليوم معين..... الخ. فلجأت الي البحث بالمعادلات INDEX & MATCH ومن ثم الي برمجة كود VBA لتحويل المعادلات الي قيم للتعديل على البيانات ومن ثم نسخها كـ قيم وتعيين متغير لمعرفة رقم الصف الخاص بالموظف ولصقها في الجدولة العمومية للموظفين. و بفضل الله ثم الشرح المتوفر في المنتدى من قبل الاساتذه الافاضل وصلت للكود التالي: كود الإستدعاء On Error Resume Next Sheets("Search").Activate If [C1].Value <> "" Then Range("A5:BLL5").Copy نسخ القيمة التي تم إيجادها بالمعادلات INDEX & MATCH Range("A16").PasteSpecial xlPasteValues لصقها في هذا النطاق كـ قيمة فقط Range("C15").Activate Application.CutCopyMode = False Else MsgBox ("الرجاء إضافة كافة البيانات المطلوبة") End If End Sub كود الترحيل On Error Resume Next Dim x As Long x = Range("D1").Value If [C1].Value = "" Then MsgBox ("لاتوجد بيانات، الرجاء كتابة الرقم الوظيفي للتعديل") Else Range("A16:BLL16").Copy Sheets("Roster").Activate Rows(x).PasteSpecial xlPasteValues MsgBox ("تم تعديل البيانات بنجاح") Application.CutCopyMode = False Sheets("Search").Select Range("A16:BLL16").Value = Clear Range("C1").Value = Clear End If ولكن احتاج بعض الاضافات للكود بحيث لا ينسخ الا الخلايا التي بها بياناتَ فقط واذا تم الترحيل الخلايا الخاليه تبقى كما هي ولا يضع بها قيمة 0 وهل بالامكان تطبيق الفكرة التاليه: حصر الموظفين المتمتعين بالاجازة VAC بين تاريخ بادية وتاريخ نهايه في شيت مخصص للحصر فقط "form" حيث يتم عرض الرقم الوظيفي والاسم وتاريخ البداية وتاريخ النهاية وعدد الايام. مرفق لكم ملف للتوضيح roster test.xlsm
عبدالله بشير عبدالله قام بنشر يوليو 27, 2019 قام بنشر يوليو 27, 2019 (معدل) السلام عليكم ربما في هذا الموضوع الافادة https://www.officena.net/ib/topic/37853-كود-لتحويل-المعادلات-الى-قيم/ تم تعديل يوليو 27, 2019 بواسطه عبدالله الصاري
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.