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

البحث بقائمة الكومبوبوكس اكسيل vba


إذهب إلى أفضل إجابة Solved by lionheart,

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

  • أفضل إجابة

Try this code

Private f As Boolean

Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    PopulateComboBox Me.ComboBox1
End Sub

Private Sub UserForm_Initialize()
    f = False
    Me.ComboBox1.MatchEntry = fmMatchEntryNone
    PopulateComboBox Me.ComboBox1
End Sub

Sub PopulateComboBox(ByVal cmb As MSForms.ComboBox)
    Dim arrIn, arrOut(), i As Long, j As Long
    With Sheets(1)
        arrIn = .Range("B2:B" & .Cells(Rows.Count, "B").End(xlUp).Row).Value
    End With
    ReDim arrOut(1 To UBound(arrIn))
    For i = 1 To UBound(arrIn)
        If arrIn(i, 1) Like "*" & cmb.Text & "*" Then
            j = j + 1
            arrOut(j) = arrIn(i, 1)
        End If
    Next i
    If j = 0 Then cmb.Clear: Exit Sub
    ReDim Preserve arrOut(1 To j)
    With cmb
        .Clear
        .List = arrOut
        If j > 0 And f Then .DropDown Else f = True
    End With
End Sub

 

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

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

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



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

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

Important Information