Eli miten voi tarkistaa että onko jo joku tietty teksti tai muuttaja jo ListBoxissa?
Käyt läpi listboxin rivit ja vertaat niitä ko. tekstiin tai muuttujaan.
Private Sub Etsi() Dim Teksti As String Dim i As Long Teksti = "Etsittävä teksti" For i = 0 To List1.ListCount - 1 If List1.List(i) = Teksti Then Exit For Next If i < List1.ListCount Then List1.ListIndex = i MsgBox "Teksti löytyi. Rivi jolta löydettiin nyt valittuna" Else MsgBox "Tekstiä ei löytynyt" End If End Sub
Toinen vaihtoehto on lähettää SendMessagella pyyntö löytää haluttu.
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long Private Const LB_FINDSTRING = &H18F Private Const LB_FINDSTRINGEXACT = &H1A2 Private Sub Etsi2() Dim Teksti As String Dim i As Long Teksti = "Etsittävä teksti" i = SendMessage(List1.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Teksti) If i = -1 Then MsgBox "Tekstiä ei löytynyt" Else List1.ListIndex = i MsgBox "Teksti löytyi. Rivi jolta löydettiin nyt valittuna" End If End Sub
Kiitoksia! Kokeilen myöhemmin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.