اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

دالة ارجاع قيمة في نطاق حسب الترتيب LARGE_SMALL في عمود معين


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

السلام عليكم

دالة ارجاع قيمة في نطاق حسب الترتيب 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

============================

رابط هذا التعليق
شارك

السلام عليكم

اخي الحبيب / نزار------------حفظه الله

ولك امثال دعائك اضعاف مضاعفة

-------اللهم آمين

=======================

اخي الحبيب / يحي------------حفظه الله

الله يوفقك و ييسر لك امورك في دنياك واخرتك

-------اللهم آمين

=======================

اخي الحبيب / ابواسامة------------حفظه الله

لك جزيل شكري و تحياتي

رابط هذا التعليق
شارك

اخي الحبيب خبور

زادك الله علما وانعم عليك من فضله وجزاك الله كل خيرا

اخوك ابو خالد

زادك الله علما وبارك الله لك

وجزاك الله خيرا

تم تعديل بواسطه mohammadey1
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

عمل رائع جدا جدا جدا عشيدت سند الى المسلمين زادك الله من علمه

استاذى الفاضل ممكن اعرف اى جزء فى الكود جعل الدالة تقف عند عشرة فقط

لكم جزيل الشكر والاحترام و التقدير

رابط هذا التعليق
شارك

السلام عليكم

اخي الحبيب / محمدي------------حفظه الله

ولك امثال دعائك اضعاف مضاعفة

-------اللهم آمين

=======================

اخي الحبيب / ياسر سالم------------حفظه الله

الدالة تعطيك النتائج حسب عدد صفوف النطاق المدخل

بامكانك اضافة رقم الترتيب الذي تريده (بشرط لا يكون اكبر من صفوف النطاق)

لتعطيك النتائج

=======================

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

جزاك الله خير على المجهود

مع اني لا أحبد الأكواد في عمل يمكن عمله بمعادلات مع ذلك اعتقد انهعمل متقن يفيد كثيرين ممن يرغبون بتعلم VBA وافكار برمجية جميلة

عندي ملاحظة عزيزي

في البرنامج لو رقمين متشابهين ممكن يكون سوء فهم للأكبر والأصغر

يعني مثال

a =18

b=18

فيعادلة large

1-a

2-b

ومعادلة small

1-a

2-b

فكيف تكون a هي الأصغر والأكبر

ارجوا تكون الفكرة وصلتك

تحياتي

رابط هذا التعليق
شارك

السلام عليكم

الاخ / عمر------------حفظه الله

الاخ / تامر------------حفظه الله

بارك الله فيكما شكرا جزيلا

=======================

اخي الفاضل/ عمودي------------حفظه الله

مع اني لا أحبد الأكواد في عمل يمكن عمله بمعادلات

كنا حابين منك لو ارفقت لنا الملف معمول بالمعادلات حتى نتعلم منك ويتعلم الاخرون

ارجوا تكون الفكرة وصلتك

لم توصل اخي الكريم

ارفق ملف يوضح ما اردته من تعليقك

تقبل تحياتي وشكري

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

مرفق لك ملف يوضح المشكلة في كودك (علشان توصلك الفكرة)

وبالنسبة للمعادلة

شوف بنفسك موقع مايكروسوفت

http://support.microsoft.com/kb/213916

ياريت توضعها بملف مع الأمثلة علشان الجميع يستفيد الجميع

تحياتي

amoudi.rar

رابط هذا التعليق
شارك

السلام عليكم

الاخ الفاضل / عمودي --------------حفظه الله

الآن فهمت ما تقصد بارك الله فيك

وقد قمت بتعديل الكود

اريد رايك في التعديل حتى اقوم بالتعديل في المشاركة الاولى

بالنسبة للرابط تشكر عليه

تقبل تحياتي وشكري

=============================================================

تم اضافة هذا المرفق المعدل في المشاركة الاولى

=============================================================

تم تعديل بواسطه خبور خير
رابط هذا التعليق
شارك

الأخ خبور خير

اطلعت الآن على الكود في الملف بعد التعديل

اعتقد انت بس تحتاج تضيف سطر مثل

اذا كان الترتيب المطلوب فإذن رقم الترتيب = عدد السطور - رقم الترتيب +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.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information