بسم الله الرحمن الرحيم
اليوم اقدم لكم بحث متقدم للبحث عن الاسم بالحرف او الكلمة او الجملة
وعرض النتائج في كمبوبوكس والليست بوكس
الكود المستخدم داخل المثال
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- اصافة زر لعمل شيت جديد بنتائج البحث.
باذن الله نضع امثلة للبحث مع امكانية اضافة شيت وتسميته بما نختاره من الليست وامكانية البحث عن الاسم والذهاب الى الشيت المسمى بنفس الاسم
ومثال اخر لوضع اكثر من عمود داخل ا لليست ف موضوع جديد باذن الله
تقبل تحياتي
شكرا لك
الإبتساماتإخفاء