sql >> Base de Datos >  >> RDS >> Sqlserver

Problema de rendimiento en la lista de búsqueda desplegable dinámica en Excel

No sé sobre el rendimiento, pero prueba lo siguiente. Se supone que sus datos están en la hoja "db", desde la fila 2 en adelante. En lugar de un cuadro combinado, coloco un cuadro de texto (TextBox1 ) y una lista (ListBox1 ) en un formulario de usuario.

Private Sub TextBox1_Change()
    Dim v As String
    Dim YourInput As String
    Dim iIdx As Long
    Dim CharNumber As Integer

    YourInput = TextBox1.Text

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False

    ListBox1.Clear

    lLastRow = Worksheets("db").Cells(3, 1).End(xlDown).Row
    CharNumber = Len(YourInput)

    For iIdx = 2 To lLastRow
        v = Worksheets("db").Cells(iIdx, 1).Text
        If LCase(Left(v, CharNumber)) = LCase(YourInput) Then
            ListBox1.AddItem v
        End If
    Next

    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
End Sub

Private Sub ListBox1_Click()
    MsgBox ("Your selection: " & ListBox1.Text)
    'do your stuff
End Sub