محمد أبو يوسف قام بنشر أكتوبر 15, 2021 قام بنشر أكتوبر 15, 2021 السلام عليكم كل الشكر والتقدير لخبرائنا واخواننا بالموقع مرفق ملف اكسيل عبارة عن شيت علاوة دورية للعاملين ورقة بها بيانات العاملين وورقة بها صورة بالضغط عليها يتم تشغيل ماكرو الترحيل الماكرو يقوم بترحيل المرتب الحالى الى المرتب السابق + جعل قيمة العلاوة الدورية = صفر المطلوب : التعديل على كود الترحيل ليكون عند الترحيل : المرتب المجرد = المرتب المجرد + العلاوة الدورية وجزاكم الله عنا خير الجزاء العلاوة الدورية.xls
أفضل إجابة أ / محمد صالح قام بنشر أكتوبر 16, 2021 أفضل إجابة قام بنشر أكتوبر 16, 2021 عليكم السلام و رحمة الله وبركاته الجزء الخاص بتنفيذ المطلوب في الكود الحالي هو هذان السطران ar.Offset(, -2) = ar.Offset(, 1).Value ar.Value = 0 إذا لاحظت ستجد أن المتغير ar يعني خلية العلاوة الدورية والدالة offset للانتقال من هذه الخلية عددا من الصفوف أولا ثم الأعمدة ثانيا وبناء عليه يكون تم وضع قيمة العمود التالي للعلاوة ar.Offset(, 1).Value (المرتب الحالي) في العمود السابق لها بعمودين ar.Offset(, -2) (المرتب السابق) وبملاحظة ترتيب الأعمدة في مطلوبك الجديد ستجد أن المرتب المجرد قبلها ب 3 أعمدة يعني -3 في المعامل الثاني لدالة offset قيمته = نفس قيمته + قيمة العلاوة الدورية وعليه يكون الكود ar.Offset(, -3) = ar.Offset(, -3).Value + ar.Value ويمكن وضعه قبل السطرين في حالة الاحتفاظ بدورهما ويمكن حذف هذا الجزء .SpecialCells(xlConstants).Areas من هذا السطر تجنبا لحدوث أية أخطاء For Each ar In sh.Cells(3, 6).Resize(lr).SpecialCells(xlConstants).Areas بالتوفيق 5
محمد أبو يوسف قام بنشر أكتوبر 17, 2021 الكاتب قام بنشر أكتوبر 17, 2021 السلام عليكم فعلاً بعد اتباع الاجراء كما تم بالشرح الوافى لسيادتكم الكود اصبح يعمل بكفائة وهو المطلوب هذا الكود سيوفر مجهود كبير على مجموعة العمل لدينا وسيتفادى الكثير من الاخطاء اليدوية جزاكم الله خيراً وبميزان حسناتكم ان شاء الله الله يزدكم من العلم وينفعكم به كل الشكر والتقدير لسيادتكم ولأسرة المجموعة 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.