بحث متقدم بالحرف او الكلمة وبدون تكرار او فراغات

بسم الله الرحمن الرحيم


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

وعرض النتائج في كمبوبوكس والليست بوكس

الكود المستخدم داخل المثال
 Private Sub ComboBox1_Change()  
   Dim a()  
   Dim b, c, d, e  
   Dim WS As Worksheet: Set WS = Sheets("Sheet1")  
   e = WS.Range("a40000").End(xlUp).Row ' WS.Cells(Rows.Count, 1).End(xlUp).Row  
   a = WS.Range("A2:A" & e).Value  
   With Me.ComboBox1  
     .List = a  
     .ListRows = 20  
     .MatchEntry = fmMatchEntryNone  
     .TextAlign = fmTextAlignCenter  
   End With  
   Set b = CreateObject("Scripting.Dictionary")  
   d = "*" & UCase(Me.ComboBox1) & "*"  
   For Each c In a  
     If UCase(c) Like d Then b(c) = ""  
   Next c  
   Me.ComboBox1.List = b.keys  
   Dim l As MSForms.ComboBox: Set l = Me.ComboBox1  
   Dim i As Long: i = 0  
   While i < l.ListCount  
     If "" = Trim$(l.List(i, 0)) Then: l.RemoveItem (i): Else i = 1 + i  
   Wend  
   ListBox1.AddItem  
   ListBox1.List = ComboBox1.List  
 End Sub  

صورة توضيحية

تحميل المثال اضغط هنا


تحياتي
 ياسر العربي

3 التعليقات

هذا ممتاز جدا ، وسريع البحث ، ولكن ماذا بعد البحث.
لذلك نريد بعد البحث مع نريد الاتي:
1- عند اختيار اي عنصر في القائمة يذهب الي موقع في الشيت.
2- اضافة في الليست اكثر من بند اخر او الاكثر مثل العمل ورقم الهاتف.
3- اصافة زر لعمل شيت جديد بنتائج البحث.

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


الإبتساماتإخفاء