14. juni 2004 - 22:11Der er
8 kommentarer og 2 løsninger
Listbox med multi select
Jeg er ved at lave et program med ca. 200 rækker og 3 kolonner. Jeg har prøvet at lave en list box med at afkrydsnings felt for hver række.
Private Sub UserForm_Initialize() Dim ColCnt As Integer Dim rng As Range Dim cw As String Dim c As Integer
ColCnt = ActiveSheet.UsedRange.Columns.Count Set rng = ActiveSheet.UsedRange With ListBox1 .ColumnCount = ColCnt .RowSource = rng.Address cw = "" For c = 1 To .ColumnCount cw = cw & rng.Columns(c).Width & ";" Next c .ColumnWidths = cw .ListIndex = 0 End With End Sub
MultiSelect er sat til 1-fmMultiSelectMulti Liststyle er sat til 1-fmListStyleOption
Nu til spørgsmålet, kan jeg lave en knap, så at jeg kan lægget tal til i de 3 kolonner, men kun i de rækker der er valgt? Håber i kan hjælpe
Tak for responce Flemmingdahl, har kigget i help og MSDN libary men da jeg er ret grøn kan jeg ikke rigtig se mig ud af det. Jeg har lavet programmet med almidelig listbox med kode til hver, men det bliver meget sløvt med tiden, så så jeg denne måde i Walkenbach's bog om VBA, der kan man vælge rækker m.m.men jeg mangler koden til at opdatere kolonner hvor listboxene er markeret.Skal alle 200 listbox.selected stå i koden?
Her er en måde at gøre det på. (bare et eksempel, jeg indlæser data med din egen kode) Ganger de selectede med 3
Private Sub CommandButton1_Click() Dim x As Long, rng As Range Set rng = ActiveSheet.UsedRange Application.Calculation = xlCalculationManual
For x = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(x) Then rng(x + 1, 4) = rng(x + 1, 4) * 3 Next Application.Calculation = xlCalculationAutomatic
Tak for kommentarer, fatter ikke et hammerslag af koden, men er nok klogere nå jeg prøver at lave programmet. Nu til det alvorlige, hvem skal have points? vedkommende bedes smide et svar Tak for hjælpen begge to rigpig
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.