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

كود للبحث عن جزء من الكلمة او جزء من الرقم


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

السلام عليكم

 

اخواني ،،، تحية طيبة لكم ،،،

 

لدي ملف اكسل يحتوي على صفحتين صفحة يوجد بها البيانات وهي تحتوي على (8) اعمدة وهي كالتالي :

 

No
Ser
Name
 
Age
Accept
Grade
Sex
Inter
 

وصفحة اخرى مخصصة للبحث عن البيانات التي بالصفحة الاولى.

 

ما اريد عمله هو محرك بحث بحيث عند كتابة اي رقم او كلمة او جزء من كلمة او جزء من رقم في مربع البحث يتم البحث عن المعلومة في الثلاثة الاعمدة الاولى فقط وهي :

 

No وهو يحتوي على رقم متسلسل غير مكرر
Ser وهو يحتوي على ارقام متكرره
Name وهو يحتوي على اسماء متكررة
 

 

ومن ثم يتم استدعاء كامل الصف الذي وجدت به المعلومة باستثناء بعض الاعمدة كما هو موضح بالملف المرفق.

 

ملاحظات مهمة :

- يتم اظهار 20 نتيجة للبحث فقط حتى لو زادت النتائج عن عشرين ... فلا يظهر الا 20 نتيجة.

- لو افترضنا انني بحثت عن كلمة "علي" وهذه الكلمة موجودة بالصفوف التالية:

الصف رقم 2

الصف رقم 5

الصف رقم 7

فيجب ان تظهر النتائج بالترتيب التالي:

الصف رقم 7

الصف رقم 5

الصف رقم 2

بحيث يتم اظهار اخر سجل تم ادخاله ويحتوي على الكلمة المراد البحث عنها.

- اظهار النتائج اريده ان يكون فوري (بدون ما اضغط على انتر) بحيث وانا اكتب المعلومة المراد البحث عنها تتغير النتائج بشكل فوري (بعد الحرف الثاني) فو كتبت "ع" مايظهر شي واذا كتبت "عل" ما يظهر شي واذا كتبت "علي" تبداء النتائج بالظهور (نفس السيناريو بالارقام )

 

 

اتمنى ان اجد منكم المساعدة وجزاكم الله خيرا

Search.zip

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

تفضل اخى الكريم

الملف المرفق به ما تريد

قم بالضغط دبل كليك على العمود الاول من شيت البحث سيظهر لك فورم اكتب اى رقم او حرف سيظهر لك الفلتر اختار ما تشاء واعمل ادراج 

جرب وعلمنى بالنتائج

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

Search.zip

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

اخى الكريم ساحاول عمل ما تريد

بس اسمحلى لماذا لا تريد الفورم اهم شئ النتائج تمام وانا ارى ان الفورم ثلث فى التعامل معه

ولكن ساحاول تنفيذ طلبك

تقبل احترامى

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

شكرا لك اخي حسام

فعلا سلسل في التعامل لكن مستقبلا سوف اضيف اعمدة لنتائج البحث ويصعب علي اضافتها بالفورم ... اضف الى ذلك عملية البحث يجب ان تكون سريعة ولا يكون فيها ادراج

اذا المشكلة من التحديث الفوري فبالامكان الاستغناء عنه وتظهر النتائج عند الضغط على انتر بس تكون بدون فورم ....

شكرا لك على ماتقدمه ... وجزاك الله الف الف خير

اخوك

ابوليمونه

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

اخى الكريم لو انتى عايز البحث يكون من خلال الخلية  C2  ممكن ذلك ولكن الطبيعى ان اى نتيجة لعملية بحث يكون صف واحد صح ولا انا غلطان فلماذا حضرتك عامل تنسيق اكثر من صف بالجدول وكمان فلتر 

ارجو ان يكون فهمت ما اريد الاستفسار عنه

تقبل احترامى

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

اخي حسام ... الخلية C2 هي مربع البحث الذي يكتب فيه الكلمات المراد البحث عنه

 

والخلايا A6:F25 هي نتائج البحث للكلمة المكتوبة في الخلية C2

 

والنتيجة الواحدة تكون على شكل صف ... وانا وضعت ٢٠ صف لنتائج تصل الى ٢٠ نتيجة 

 

فلو بحثت عن كلمة "علي" وهي موجودة باكثر من صف في الشيت داتا ... يحضر لي جميع الصفوف التي تحتوي على كلمة "علي" وكذلك لو بحثت عن الرقم 165 فراح يحصله باكثر من صف فيجلب لي كل الصفوف التي تحتوي على الرقم 165 .... البحث يكون في الاعمدة الموجودة في داتا في الاعمدة التالية No - Ser - Name

 

مسالة الفلتر بامكانك تجاهلها ...

 

تحياتي لك وللاخوان المشاركين جميعاً

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

استاذى الفاضل جرب المرفق 

هل هو ما تريد 

ملحوظه البحث عن طريق الاسم يجب كتابة الاسم مطابق لما هو فى جدول البيانات

Search.zip

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

اخي حسام

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

البحث عن طريق الرقم يعمل بكل جدارة وسلاسة وهو المطلوب

لكن البحث عن طريق الاسم لا يعمل الا بكتابة كامل الاسم ... وانا اريد ان يبحث عن جزاء من الاسم

فلو كتبت كلمة "علي" يجلب جميع الصفوف التي في اسمها كلمة "علي" ولا يلزم الباحث كتابة كامل الاسم ...

هل بالامكان عمل ذلك ؟؟؟

وشكرا لما تقدمه للمنتدى وعلى الملف الجميل ...

اخوك ابوليمونه ...

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

السلام عليكم

 

الشكر واصل للاخ  حسام عيسى ....حفظه الله

 

الكود موجود في موديل الورقة  Search

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = Range("C2").Address Then Exit Sub
''''''''''''''''''
Dim Lr As Long, i As Long, R As Long
Dim txt
Range("A6:F25").ClearContents

txt = Trim(Target)
If Len(txt) < 3 Then Exit Sub

With Sheets("Data")
    Lr = .Cells(.Rows.Count, "A").End(xlUp).Row
    For i = Lr To 2 Step -1
        If txt = CStr(.Cells(i, "A")) Or txt = CStr(.Cells(i, "B")) Or InStr(CStr(.Cells(i, "C")), txt) Then
            Cells(R + 6, "A").Resize(1, 3).Value = .Cells(i, "A").Resize(1, 3).Value
            Cells(R + 6, "D").Resize(1, 2).Value = .Cells(i, "E").Resize(1, 2).Value
            Cells(R + 6, "F").Value = .Cells(i, "H").Value
            R = R + 1
            If R = 20 Then Exit For
        End If
    Next
End With
End Sub



المرفق 2010

Search++.rar

 

تحياتي

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

اشكرك اخي عبدالله على الكود ... يعمل بكل جدارة والله لا يحرمنا منك ... فانت استاذنا بهذا المنتدى ومنكم نتعلم ...

والشكر موصول لاخي حسام الذي اتعبته معاي ... اشكره على مجهوده وجزاه الله الف خير

اشكر جميع الاعضاء ...

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

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

استاذنا الكبير العلامه 

عبدالله باقشير

حلولك دائما رائعه وتتسم بالفن والهندسة والله

ومجرد ذكر اسمى من حضرتك فهذا شرف لى وكل ما قدمته فهو ثمرة تعلم تلميذ من استاذه

بارك الله فيك وزادك من علمه

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

تقبل احترامى وتقديرى 

تلميذك / حسام عيسى

تم تعديل بواسطه حسام عيسى
  • Like 1
رابط هذا التعليق
شارك

استاذى العلامه / عبدالله باقشير

ممكن حضرتك تشرح لى معنى

If Len(txt) < 3 Then Exit Sub  ماذا تعنى Len هل هى داله ام ماذا

For i = Lr To 2 Step -1  لماذا لم يتم عملها   For i = 2 To Lr وما الفائده من وجود STep

InStr(CStr(.Cells(i, "C")), txt)  شرح  instr ماذا تعنى 

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

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

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

 

اقتباس

 

If Len(txt) < 3 Then Exit Sub  ماذا تعنى Len هل هى داله ام ماذا

 

نعم دالة مثل دالة الاكسل تعطيك عدد الاحرف

 

اقتباس

 

For i = Lr To 2 Step -1  لماذا لم يتم عملها   For i = 2 To Lr وما الفائده من وجود STep

 

 

Step -علشان نعكس السلسلة من الاكبر الى الاصغر

ودائما الافتراضي    step 1

 

اقتباس

 

InStr(CStr(.Cells(i, "C")), txt)  شرح  instr ماذا تعنى

 

هذه دالة بحث في النص

 

مثيل دالة FIND  و  SEARCH

 

هذا على السريع ودمتم

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

  • 2 months later...

استاذنا الفاضل عبدالله 

 

نشكرك علي مجهوداك الكبيرة وجعله الله في ميزان حساناتك

 

لي طلب لو سمحت

 

- هل ممكن يكون البحث فوق القائمة الرئيسية Dataاي في نفس الصفحة وعند البحث برقم او بالأسم او جزي منهم يفلتر تلقائيا وعند تراجع عن كلمات البحث ترجع جميع الأسماء

وعند دبل كليك علي الأسم يفتح كرت الموظف في صفحة اخري بها بيانات وصورة الموظف

 

وصورة الموظف تكون مربوطة علي رقمه في صفحة كرت الموظف ( ولينك من فولدر في نفس المسار والصور محفوظة برفم الموظف)

 

- وباريت البحث يكون ( خانة بحث بجزء او كل الأعمدة +  مربع قائمة مثلا لأختيار Grade يفلتر البيانات الخاصة بالجامعي فقط - وهكذا)

 

ارجو ان لا اكون اثقلت عليك

ولكم جزيل الشكر

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

أخي الكريم

تفضل بالمرفق

1 - اريد كود البحث يبحث بأي جزيء من الأسم سواؤ عربي او انجليزي وكذلك اي جزء من الرقم او اي جزء من رقم الهوية ( في مربع بحث واحد)

2- ققائمة بحث لكل من الجنسية وكذلك الوظيفة ( مثلا لفلترة جنسية معينة او وظيفة معينة)

4- قائمة بحث بتاريخين لكل من انتهاء الجواز والهوية ( لو امكن)

3- كرت الموظف ( ادراج الصورة الخاصة به من فولدر خارجي مربوطة برقم الموظف( عند كتابة رقم الموظف تظهر الصورة المربوطة)

 

واتمني ان تشرح لي الطريقة لكي نستفيد

ولكم جزيل الشكر  ، 

Sample- ID Pic.rar

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

  • 1 year later...
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information