اذهب الي المحتوي
أوفيسنا

اظهار آخر رقم معين يبدأ بـ *1 أو *2 في العمود


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

السلام عليكم

استخدم المعادلة المركبة التاليه

=Ls_Nm("1*")
==============
=Ls_Nm("2*")

الكود

Function Ls_Nm(Sb$) As String
 For Each R In [C4:C30]
   If R.Text Like Sb Then V = CStr(R)
 Next
 Ls_Nm = V
End Function

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

رائع جدا اخى العيدروس

 

كنت ابحث عن معنى هذا الاسم فوجدت الاتى

 

 

  • سيد أبو بكر العيدروس
  • الأمام أبو بكر العدني بن عبد الله العيدروس عالم ديني صوفي حضرمي عربي وشاعر عامي. أمضى أبو بكر معظم حياته في عدن حيث كان يحظى باحترام كبير بسبب إسهاماته المجتمعية لرفاه سكان المدينة
 
رابط هذا التعليق
شارك

رائع أخي العيدروس

 

ولكن هل يمكن جعلها تعطي الناتج بمجرد ادخال الرقم

 

وايضاً هي تظهر أي رقم يبدأ بـ 1 أو 2  والمطلوب أن تظهر الرقم الذي يبدأ بـ *1  أو *2 فقط

 

ولك الشكر

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

رائع أخي العيدروس

 

ولكن هل يمكن جعلها تعطي الناتج بمجرد ادخال الرقم

 

وايضاً هي تظهر أي رقم يبدأ بـ 1 أو 2  والمطلوب أن تظهر الرقم الذي يبدأ بـ *1  أو *2 فقط

 

ولك الشكر

 

غير شرط الدالة

If R.Text Like Sb Then V = CStr(R)

بهذا السطر

If InStr(R.Text, Sb) Then v = CStr(R)

تحياتي

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

أحسنت أخي الحبيب عبد الله 

 

ولكن بقي :

 

هل يمكن جعلها تعطي الناتج بمجرد ادخال الرقم

 

جرب على الملف المرفق لو تكرمت

 

 

غي الدالة بهذه

Function Ls_Nm(rng As Range, Sb As String) As String
 For Each R In rng
 If InStr(R.Text, Sb) Then v = CStr(R)
 Next
 Ls_Nm = v
End Function

بحيث تضع النطاق في الدالة

=Ls_Nm($C$4:$C$27;"1*")
رابط هذا التعليق
شارك

او غير الدالة بهذه


Function Ls_Nm(rng As Range, Sb As String) As String
Dim r As Long
Dim v As String
With rng
    For r = .Rows.Count To 1 Step -1
        If InStr(CStr(.Item(r)), Sb) Then
            v = CStr(.Item(r))
            Exit For
        End If
    Next
End With
Ls_Nm = v
End Function

تحياتي

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

بارك الله فيك يا أخي الحبيب عبد الله

 

جربت الطريقة الأولى ونجحت 

 

الله يرزقك ما تتمنى فأنت خير معين بعد الله

 

والشكر موصول لأخي العيدروس 

 

لمشاركته القيمة

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

او غير الدالة بهذه

Function Ls_Nm(rng As Range, Sb As String) As String
Dim r As Long
Dim v As String
With rng
    For r = .Rows.Count To 1 Step -1
        If InStr(CStr(.Item(r)), Sb) Then
            v = CStr(.Item(r))
            Exit For
        End If
    Next
End With
Ls_Nm = v
End Function

تحياتي

استخدمت هذا الكود لأن الأول بطئ نوعاً ما  :)

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information