首先要把listbox的muliselect设置为true
Dim i As Long
For i = 0 To List1.ListCount - 1
If InStr(1, List1.List(i), Text1.Text, vbTextCompare) <> 0 Then
 List1.Selected(i) = True
 End If
 Next

解决方案 »

  1.   

    softrain(秋雨)的方法不错看看吧
      

  2.   

    For i = 1 To ListView1.ListItems.Count
            If ListView1.ListItems(i).Text Like "*" & Text1.Text & "*" Then
                ListView1.ListItems(i).Selected = True
                Exit For
            End If
        Next i
      

  3.   

    给你一个复杂的
    Dim itmX As ListItem   'ListItem 变量。
    Dim intCount As Integer   '计数器变量。
    Dim i As Integer
    Dim kl As String'Private Sub Command1_Click()
    'MsgBox CDate(MaskEdBox1.Text)
    'End Sub'Private Sub Command2_Click()
    'Dim a As String
    'Dim c As String
    'Dim d As Date
    'd = Date
    'a = "02-1-1"
    ''c = "dd" + CStr(CDate(a))
    'If d < a Then
    'MsgBox d
    'End If
    'End SubPrivate Sub Form_Load()
       '为 ColumnHeader 对象创建对象变量。
       Dim clmX As ColumnHeader
       '添加 ColumnHeaders。列宽度等于控件宽度
       '除以 ColumnHeader 对象的数目。
        ListView1.ColumnHeaders.Add , , "Company", ListView1.Width / 3
        ListView1.ColumnHeaders.Add , , "Address", ListView1.Width / 3
        ListView1.ColumnHeaders.Add , , "Phone", ListView1.Width / 3
        
       ListView1.BorderStyle = ccFixedSingle  '设置 BorderStyle 属性。
       ListView1.View = lvwReport  '设置 View 属性为报表型。
       Command1.Caption = "&FindItem"   '用 FindItem 选项标注 OptionButton 控件。
          Option2(0).Caption = "Text"
          Option2(1).Caption = "SubItem"
          Option2(2).Caption = "Tag"
          'ListView1.FindItem = 0 '设置 ListView 控件的 FindItem 属性为文本。 kl = "kk"
                Set itmX = ListView1.ListItems.Add()
          intCount = intCount + 1 'Tag 属性计数器递增。
          itmX.Key = kl
          itmX.Tag = intCount
          itmX.Text = "my"
          itmX.Tag = "ListItem " & 1  '用计数器值设置 Tag。
          itmX.SubItems(1) = "kk"  'Address 字段。
          itmX.SubItems(2) = "ll" 'Phone 字段。
          Set itmX = ListView1.ListItems.Add()
          intCount = intCount + 1 'Tag 属性计数器递增。
          itmX.Key = "my1"
          itmX.Tag = intCount
          itmX.Text = "my1"
          itmX.Tag = "ListItem " & 2  '用计数器值设置 Tag。
          itmX.SubItems(1) = "kk1"  'Address 字段。
          itmX.SubItems(2) = "ll1" 'Phone 字段。
          
    End SubPrivate Sub Command1_Click()
       'FindItem 方法。
       '创建名为 intSelectedOption 的整数类型变量
       '来存储选定按钮的索引。
       '创建名为 strFindMe 的字符串变量。使用 InputBox
       '把查找的字符串存储在变量中。使用
       ' FindItem 方法查找字符串。使用 Option1
       '切换决定在何处查找的 FindItem 参数。
       Dim kl1 As String
       Dim intSelectedOption As Integer
       Dim strFindMe As String
       If Option2(0).Value = True Then
            strFindMe = InputBox("Find in " & Option2(0).Caption)
            intSelectedOption = lvwText
       End If
       If Option2(1).Value = True Then
          strFindMe = InputBox("Find in " & Option2(1).Caption)
          intSelectedOption = lvwSubItem
       End If
       If Option2(2).Value = True Then
          strFindMe = InputBox("Find in " & Option2(2).Caption)
          intSelectedOption = lvwTag
       End If   'FindItem 方法返回找到的项目的引用,所以
       '必须创建对象变量并将
       '找到的项目设置给它。
       Dim itmFound As ListItem   'FoundItem 变量。   Set itmFound = ListView1.FindItem(strFindMe, intSelectedOption, , lvwPartial)   '若未找到符合条件的 ListItem 则通知用户并退出。如果
       '找到 ListItem,则使用 EnsureVisible 方法滚动控件,
       '并选定 ListItem。
       kl1 = "kk"
       If itmFound Is Nothing Then  '若没有匹配成功,则通知用户并退出。
          MsgBox "No match found"
          Exit Sub
       Else
           itmFound.EnsureVisible '滚动 ListView 以显示找到的 ListItem。
           itmFound.Selected = True   '选定ListItem。
          '将焦点返回给控件以查看选择。
           ListView1.SetFocus
           ListView1.ListItems(kl1).SubItems(1) = "kkkk"
          'itmX.SubItems(2) = "lly"
       End If
    End SubPrivate Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
    'MsgBox Item
        ListView1.FindItem(Item, , , lvwPartial).Selected = TrueEnd SubPrivate Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
    MsgBox Item
    End SubPrivate Sub ListView1_LostFocus()
       '控件失去焦点后,重新将每个
       ' ListItem 的 Selected 属性设置为 False。
    '   Dim i As Integer
    '   For i = 1 To ListView1.ListItems.Count
    '      ListView1.ListItems.Item(i).Selected = False
    '   Next i
    End Sub