大家好,我在 Excel VBA 中撰寫了一個代碼,它可以作業,代碼搜索作業表并在串列框中列出結果,指定要列出哪些列,但是回應搜索中的任何更改需要很長時間,所以我需要知道這里的錯誤是代碼
Private Sub TbSearch_Change()
Dim i As Long
Dim MySheet As Worksheet
With MySheet
On Error Resume Next
Set edRng = .Range("A4", .Range("A4").End(xlDown))
End With
'Set MySheet = Main
'On Error Resume Next
'Me.TbSearch.Text = StrConv(Me.TbSearch.Text, vbProperCase)
Me.LBResult.Clear
If CBRoads <> "" Then
For i = 4 To Application.WorksheetFunction.CountA(edRng)
For x = 1 To 5
a = Len(Me.TbSearch.Text)
If Left(MySheet.Cells(i, x).Value, a) = Me.TbSearch.Text And Me.TbSearch.Text <> "" Then
Me.LBResult.AddItem MySheet.Cells(i, 2).Value
For Each edCell In Me.LBResult.List
Me.LBResult.List(LBResult.ListCount - 1, 1) = MySheet.Cells(i, 3).Value
Me.LBResult.List(LBResult.ListCount - 1, 2) = MySheet.Cells(i, 8).Value
Me.LBResult.List(LBResult.ListCount - 1, 3) = MySheet.Cells(i, 9).Value
Me.LBResult.List(LBResult.ListCount - 1, 4) = MySheet.Cells(i, 10).Value
Me.LBResult.List(LBResult.ListCount - 1, 4) = MySheet.Cells(i, 12).Value
Next edCell
End If
Next x
Next i
Else
MsgBox "choose first"
Me.CBRoads.SetFocus
End If
End Sub
uj5u.com熱心網友回復:
沒有理由遍歷Me.LBResult.List. 它正在扼殺你的表現。
For Each edCell In Me.LBResult.List
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/440562.html
