Antar att det är en ListView det handlar om och inte en Listbox då sådana inte har kolumner. ;)
För att lägga till en rad:
Dim cListItem As ListItem
Set cListItem = ListView.ListItems.Add(, , "hej")
cListItem.ListSubItems.Add , , "på dig"
För att leta efter ListIndex åt en stäng som finns i kolumn 0, använd denna kod som ger iIndex strängens ListIndex:
Dim i As Integer, iIndex As Integer
For i = 1 To ListView.ListItems.Count
If ListView.ListItems.Item(i).Text = "text" Then
iIndex = i
Exit For
End If
Next i
R// Vill du att sökningen ska vara oberoende av stora och små bokstäver, byt bara ut
If ListView.ListItems.Item(i).Text = "text" Then
mot
If StrComp(ListView.ListItems.Item(i).Text, "text", vbTextCompare) = 0 Then
Om vi bortser från vad allt kolumner heter, och jag lägger till mina "fält" separerade med "vbtab", hur kan jag då söka upp position för första "fältet" (innan första tabben)?
t.ex om det ser ut så här ->
4 <vbtab> hej <vbtab> x01
Så vill jag söka på '4':an och få ut radens listnummer :)
Dim i As Integer, iIndex As Integer, sText As String
sText = "söktext"
For i = 0 To List1.ListCount - 1
If Left$(List.List(i), Len(sText)) = sText Then
iIndex = i
Exit For
End If
Next i
Bör väl fungera. Det hittade ListIndexet sparas i iIndex. :)
R// Onödigt att köra igenom loopen även om vi redan hittat ett Index. :)
hur kan en listbox INTE ha kolumner, när man kan ställa in det i objektets properties? :l
"Columns: 2" <- delar upp listboxen vertikalt i två fält så jag förmodar att det visst handlar om, just, kolumner?
att söka där är på samma sätt som en valig list box
för det Columns2 gör är att när listboxen är fylld neråt så fyller den på vertikalt i stället för neråt.