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

قائمة منسدلة ComboBox مرتبة


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

السلام عليكم

باختصار اريد في المرفق عمل قائمة منسدة بـ ComboBox تظهر كل الكلمات التي بها مثلا م  ولو ممكن يكون تقتصر اظهار بيانات القائمة علي  الحرف فقط مثلا لو انا عايز محمد يتظهر كل الاسماء التي تبدا بمحمد

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

قائمة منسدلة محددة.rar

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

جرب هذا الملف

الكود

Option Explicit
Dim My_list As Object
Dim arr
Sub fil_combo()

Dim Rng As Range, rcell As Range
Dim X
Set My_list = CreateObject("System.Collections.Arraylist")
Set Rng = Sheet1.Range("A5", Sheet1.Cells(Rows.Count, 1).End(xlUp))
Sheet1.ComBo_1.Clear
For Each rcell In Rng.Cells
 X = ComBo_1.Text
    If Not My_list.Contains(rcell.Text) _
    And Mid(rcell, 1, Len(X)) = X Then My_list.Add (rcell.Value)
Next rcell
My_list.Sort
arr = My_list.ToArray

End Sub
'==============================
Private Sub ComBo_1_Change()
fil_combo
ComBo_1.list = arr
ComBo_1.DropDown
End Sub

 

 

 

 

Combo_with first_Letters.xlsm

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

كود جميل ويفي بالغرض باك الله فيك لكن الخلية المرتبطة بمجرد ان يتم مسح بيانات القائمة المنسدلة يتم مسح الخلية وهذه الخلية احتاجها في عملي ارجو التعديل 

وناسف لاضاعة وقتكم 

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

حقيقة لم اقصد ازالة الخلية المرتبطة اريد الخلية المرتبطة لا تمسح بل القائمة فقط

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

8 ساعات مضت, ابوصلاح said:

حقيقة لم اقصد ازالة الخلية المرتبطة اريد الخلية المرتبطة لا تمسح بل القائمة فقط

لا استطيع فهم ما تريد بالضبط

رجاء ارسل ملفاً(مختصراً) توضح فيه المطلوب

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

  • 3 weeks later...
في ٣١‏/١‏/٢٠١٩ at 14:21, سليم حاصبيا said:

جرب هذا الملف

الكود


Option Explicit
Dim My_list As Object
Dim arr
Sub fil_combo()

Dim Rng As Range, rcell As Range
Dim X
Set My_list = CreateObject("System.Collections.Arraylist")
Set Rng = Sheet1.Range("A5", Sheet1.Cells(Rows.Count, 1).End(xlUp))
Sheet1.ComBo_1.Clear
For Each rcell In Rng.Cells
 X = ComBo_1.Text
    If Not My_list.Contains(rcell.Text) _
    And Mid(rcell, 1, Len(X)) = X Then My_list.Add (rcell.Value)
Next rcell
My_list.Sort
arr = My_list.ToArray

End Sub
'==============================
Private Sub ComBo_1_Change()
fil_combo
ComBo_1.list = arr
ComBo_1.DropDown
End Sub

 

 

 

 

Combo_with first_Letters.xlsm

 

في ٣١‏/١‏/٢٠١٩ at 19:27, سليم حاصبيا said:

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

Combo_with first_Letters1.xlsm

في ٣١‏/١‏/٢٠١٩ at 14:21, سليم حاصبيا said:

Option Explicit
Dim My_list As Object
Dim arr
Sub fil_combo()

Dim Rng As Range, rcell As Range
Dim X
Set My_list = CreateObject("System.Collections.Arraylist")
Set Rng = Sheet1.Range("A5", Sheet1.Cells(Rows.Count, 1).End(xlUp))
Sheet1.ComBo_1.Clear
For Each rcell In Rng.Cells
 X = ComBo_1.Text
    If Not My_list.Contains(rcell.Text) _
    And Mid(rcell, 1, Len(X)) = X Then My_list.Add (rcell.Value)
Next rcell
My_list.Sort
arr = My_list.ToArray

End Sub
'==============================
Private Sub ComBo_1_Change()
fil_combo
ComBo_1.list = arr
ComBo_1.DropDown
End Sub

 

 

Combo_with first_Letters.xlsm

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

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