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 SubToinen 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 SubKiitoksia! Kokeilen myöhemmin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.