定义一个公共变量,记录搜索的位置 假定有两个按钮,一个是“搜索”,一个是“下一个”,当点击“搜索”时,设置公共变量为 0,然后触发循环过程,当找到目标后停止循环。当点击“下一个”时,不改变公共变量的值,并以公共变量的值+1为起始点开始循环,找到后就退出循环 Dim FindID As Long' 搜索 Private Sub Command1_Click() FindID = 0 Search End Sub' 下一个 Private Sub Command2_Click() Search End SubPrivate Sub Search() Dim i As Long Dim logSave As Long If FindID >= List1.ListCount Then Exit Sub End If logSave = FindID For i = FindID To List1.ListCount - 1 If List1.List(i) = Text1.Text Then List1.ListIndex = i FindID = i + 1 If FindID >= List1.ListCount Then FindID = 0 End If Exit For End If Next i If logSave = FindID Then FindID = 0 MsgBox "已经查找到最后都没有目标,请您确定", 64, "提示" End If End Sub
假定有两个按钮,一个是“搜索”,一个是“下一个”,当点击“搜索”时,设置公共变量为 0,然后触发循环过程,当找到目标后停止循环。当点击“下一个”时,不改变公共变量的值,并以公共变量的值+1为起始点开始循环,找到后就退出循环
Dim FindID As Long' 搜索
Private Sub Command1_Click()
FindID = 0
Search
End Sub' 下一个
Private Sub Command2_Click()
Search
End SubPrivate Sub Search()
Dim i As Long
Dim logSave As Long
If FindID >= List1.ListCount Then
Exit Sub
End If
logSave = FindID
For i = FindID To List1.ListCount - 1
If List1.List(i) = Text1.Text Then
List1.ListIndex = i
FindID = i + 1
If FindID >= List1.ListCount Then
FindID = 0
End If
Exit For
End If
Next i
If logSave = FindID Then
FindID = 0
MsgBox "已经查找到最后都没有目标,请您确定", 64, "提示"
End If
End Sub