عبدالله باقشير قام بنشر يناير 31, 2009 قام بنشر يناير 31, 2009 السلام عليكم دالة ارجاع قيمة في نطاق حسب الترتيب LARGE_SMALL في عمود معين كود Option Explicit ' بسم الله الرحمن الرحيم " '"""""""""""""""""""""""""""""""""""""""""""""""""""" ' (دالة ارجاع قيمة (رقم أو نص أو قيمة منطقية " ' (للعمود(العمود_المطلوب MyRang من النطاق ' LARGE_SMALL (حسب الترتيب(رقم_الترتيب ' (للقيمة في العمود (عمود_القيمة " '"""""""""""""""""""""""""""""""""""""""""""""""""""" ' الترتيب_المطلوب " ' FALSE:LARGE (القيمة الكبرى ذات الترتيب(رقم_الترتيب " ' TRUE :SMALL (القيمة الصغرى ذات الترتيب(رقم_الترتيب " '"""""""""""""""""""""""""""""""""""""""""""""""""""" Function VLO_LARGE_SMALL(MyRang As Range, عمود_القيمة As Integer _ , العمود_المطلوب As Integer, رقم_الترتيب As Integer _ , Optional الترتيب_المطلوب As Boolean = False) Dim My_VLOOKUP Dim T As Integer Dim R As Integer Dim T_1 As Integer Dim T_2 As Integer T = MyRang.Rows.Count If رقم_الترتيب > T Or رقم_الترتيب = 0 Then VLO_LARGE_SMALL = "": Exit Function With Application.WorksheetFunction For R = 1 To T T_1 = .Rank(MyRang.Cells(R, عمود_القيمة), MyRang.Columns(عمود_القيمة), الترتيب_المطلوب) If الترتيب_المطلوب = False Then T_2 = .CountIf(Range(MyRang.Cells(1, عمود_القيمة), MyRang.Cells(R, عمود_القيمة)), MyRang.Cells(R, عمود_القيمة).Value) If الترتيب_المطلوب = True Then T_2 = .CountIf(Range(MyRang.Cells(R, عمود_القيمة), MyRang.Cells(T, عمود_القيمة)), MyRang.Cells(R, عمود_القيمة).Value) If رقم_الترتيب = T_1 + T_2 - 1 Then My_VLOOKUP = MyRang.Cells(R, العمود_المطلوب) Exit For End If Next R End With VLO_LARGE_SMALL = My_VLOOKUP End Function ============================ المرفق الجديد المعدل: _____________________________________________________.rar ============================ المرفق السابق : _____________________________________________________.rar ============================
نزار سليمان عيد قام بنشر فبراير 1, 2009 قام بنشر فبراير 1, 2009 اخي الحبيب خبور زادك الله علما وانعم عليك من فضله وجزاك الله كل خيرا اخوك ابو خالد
يحيى حسين قام بنشر فبراير 1, 2009 قام بنشر فبراير 1, 2009 أخي خبور بارك الله لك في علمك دائماً في انتظار ابداعاتك
ابو اسامة العينبوسي قام بنشر فبراير 1, 2009 قام بنشر فبراير 1, 2009 السلام عليكم داله جديره بالاحترام كما صاحبها
عبدالله باقشير قام بنشر فبراير 1, 2009 الكاتب قام بنشر فبراير 1, 2009 السلام عليكم اخي الحبيب / نزار------------حفظه الله ولك امثال دعائك اضعاف مضاعفة -------اللهم آمين ======================= اخي الحبيب / يحي------------حفظه الله الله يوفقك و ييسر لك امورك في دنياك واخرتك -------اللهم آمين ======================= اخي الحبيب / ابواسامة------------حفظه الله لك جزيل شكري و تحياتي
محمدي عبد السميع قام بنشر فبراير 1, 2009 قام بنشر فبراير 1, 2009 (معدل) اخي الحبيب خبور زادك الله علما وانعم عليك من فضله وجزاك الله كل خيرا اخوك ابو خالد زادك الله علما وبارك الله لكوجزاك الله خيرا تم تعديل فبراير 1, 2009 بواسطه mohammadey1
ياسرسالم قام بنشر فبراير 1, 2009 قام بنشر فبراير 1, 2009 السلام عليكم ورحمة الله وبركاته عمل رائع جدا جدا جدا عشيدت سند الى المسلمين زادك الله من علمه استاذى الفاضل ممكن اعرف اى جزء فى الكود جعل الدالة تقف عند عشرة فقط لكم جزيل الشكر والاحترام و التقدير
عبدالله باقشير قام بنشر فبراير 1, 2009 الكاتب قام بنشر فبراير 1, 2009 السلام عليكم اخي الحبيب / محمدي------------حفظه الله ولك امثال دعائك اضعاف مضاعفة -------اللهم آمين ======================= اخي الحبيب / ياسر سالم------------حفظه الله الدالة تعطيك النتائج حسب عدد صفوف النطاق المدخل بامكانك اضافة رقم الترتيب الذي تريده (بشرط لا يكون اكبر من صفوف النطاق) لتعطيك النتائج =======================
amoudi قام بنشر فبراير 2, 2009 قام بنشر فبراير 2, 2009 السلام عليكم ورحمة الله جزاك الله خير على المجهود مع اني لا أحبد الأكواد في عمل يمكن عمله بمعادلات مع ذلك اعتقد انهعمل متقن يفيد كثيرين ممن يرغبون بتعلم VBA وافكار برمجية جميلة عندي ملاحظة عزيزي في البرنامج لو رقمين متشابهين ممكن يكون سوء فهم للأكبر والأصغر يعني مثال a =18 b=18 فيعادلة large 1-a 2-b ومعادلة small 1-a 2-b فكيف تكون a هي الأصغر والأكبر ارجوا تكون الفكرة وصلتك تحياتي
عبدالله باقشير قام بنشر فبراير 2, 2009 الكاتب قام بنشر فبراير 2, 2009 السلام عليكم الاخ / عمر------------حفظه الله الاخ / تامر------------حفظه الله بارك الله فيكما شكرا جزيلا ======================= اخي الفاضل/ عمودي------------حفظه الله مع اني لا أحبد الأكواد في عمل يمكن عمله بمعادلات كنا حابين منك لو ارفقت لنا الملف معمول بالمعادلات حتى نتعلم منك ويتعلم الاخرون ارجوا تكون الفكرة وصلتك لم توصل اخي الكريم ارفق ملف يوضح ما اردته من تعليقك تقبل تحياتي وشكري
amoudi قام بنشر فبراير 3, 2009 قام بنشر فبراير 3, 2009 السلام عليكم ورحمة الله وبركاته مرفق لك ملف يوضح المشكلة في كودك (علشان توصلك الفكرة) وبالنسبة للمعادلة شوف بنفسك موقع مايكروسوفت http://support.microsoft.com/kb/213916 ياريت توضعها بملف مع الأمثلة علشان الجميع يستفيد الجميع تحياتي amoudi.rar
عبدالله باقشير قام بنشر فبراير 3, 2009 الكاتب قام بنشر فبراير 3, 2009 (معدل) السلام عليكم الاخ الفاضل / عمودي --------------حفظه الله الآن فهمت ما تقصد بارك الله فيك وقد قمت بتعديل الكود اريد رايك في التعديل حتى اقوم بالتعديل في المشاركة الاولى بالنسبة للرابط تشكر عليه تقبل تحياتي وشكري ============================================================= تم اضافة هذا المرفق المعدل في المشاركة الاولى ============================================================= تم تعديل فبراير 11, 2009 بواسطه خبور خير
amoudi قام بنشر فبراير 4, 2009 قام بنشر فبراير 4, 2009 السلام عليكم ورحمة الله وبركاته شكرا لتجاوبك مع ملاحظاتي باالنسبة للملف جربت ومضبوط انشاء الله تحياتي
amoudi قام بنشر فبراير 4, 2009 قام بنشر فبراير 4, 2009 الأخ خبور خير اطلعت الآن على الكود في الملف بعد التعديل اعتقد انت بس تحتاج تضيف سطر مثل اذا كان الترتيب المطلوب فإذن رقم الترتيب = عدد السطور - رقم الترتيب +1 ومعادلة rank بدون متغير الترتيب المطلوب بعني لو عندي عشر سطور فالترتيب الأول بالأكبر حيكون الترتيب العاشر بالأصغر والترتيب 2 بالأكبر حيكون الترتيب التاسع بالأصغر وهكذا فأنا اذا عرفت ترتيب الشي بالأكبر فيصبح ترتيبه بالأصغر معروف اذا كان لدي عدد الصفوف تحياتي تحياتي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.