sql >> Databasteknik >  >> RDS >> Sqlserver

Prestandaproblem i dynamisk rullgardinssökningslista i excel

Jag vet inte om prestanda, men prova följande. Dina data är tänkt att finnas i arket "db", från rad 2 och framåt. I stället för en kombinationsruta placerar jag en textruta (TextBox1 ) och en lista (ListBox1 ) i ett användarformulär.

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


  1. Välj rader och uppdatera samma rader för låsning?

  2. char vs varchar för prestanda i lagerdatabas

  3. I SQL, är det OK att två tabeller refererar till varandra?

  4. Hur man summerar värdet av pivoterade kolumner och lägger till det i en annan pivoterad kolumn