03. oktober 2009 - 18:36Der er
4 kommentarer og 1 løsning
VBA: Forms, ListBox
Hej
Jeg har en Userform med nogle forskellige kontrolelementer på, blandt andet en checkbox og en listbox. Jeg bruger følgende kode i UserForm_Initialize() Dim a As Integer For a = 3 To 9 If Range("A" & a) = "" Then Else ListBox1.AddItem Range("A" & a) End If Next a Da jeg har mine data til ListBox'en i felt A3:A9, men det kun er de felter der har indhold der skal medtages, så fungere dette som sådan fint nok.
Om ListBox.Enabled er sat til True eller False afgør min checkbox, men osm standard er den sat til false.
Jeg ønsker alle mine items markeret fra starten af. Jeg ved jeg kan gøre det med ListBox1.Selected(nummer) = True. Problemet er bare at jeg ikke ved hvordan jeg skal få automatiseret processen. Den ene gang formen bruges kan der jo være op til 3, og den anden gang op til 7?
Derudover mangler jeg inspiration til hvordan jeg arbejder videre med dataene. Altså hvordan jeg bagefter får tjekket hvilke felter der er selected og så udfra det kan arbejde videre med dem, men det tror jeg kommer nogenlunde snildt når først jeg har fundet ud af det første :-)
Skriv endelig hvis I har uddybende spørgsmål, f.eks. hvis jeg ikke har fået gjort det forståeligt nok :)
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
1) Hvad har checkboxen med sagen at gøre? 2)"Jeg ønsker alle mine items markeret fra starten af." Det er ikke muligt. Du kan kun selecte et item i en listbox ad gangen? 3)..."hvordan jeg bagefter får tjekket hvilke felter der er selected"... Er det nu felter i regnearket eller hvad?
Dim i As Long, j As Long Dim SelectedItems() As Long For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then ReDim Preserve SelectedItems(j) SelectedItems(j) = i j = j + 1 End If Next i
Alternativt kan du sætte SelectedItems som String, og i stedet tilskrive værdien ListBox1.List(i)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.