Avatar billede rigpig Nybegynder
14. juni 2004 - 22:11 Der 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
29. juni 2004 - 18:51 #1
Ja, det kan du god. Du finder frem til de valgte elementer ved at bruge
Listbox1.Selected
kig i VBA hjæpen for yderligere info
Avatar billede rigpig Nybegynder
29. juni 2004 - 23:45 #2
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?
Avatar billede bak Forsker
30. juni 2004 - 00:42 #3
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

End Sub
Avatar billede bak Forsker
30. juni 2004 - 00:43 #4
Skrivefejl
Ganger de selectede rækkers 4. kolonne med 3
30. juni 2004 - 00:49 #5
BAK - jeg skulle lige til at paste min løsning *GG* men den ligner din SMILER - Godnat
Avatar billede bak Forsker
30. juni 2004 - 08:16 #6
Ja, det er da til at forstå, jeg har jo lært det meste af dig :-)
30. juni 2004 - 09:13 #7
Smiler
Avatar billede rigpig Nybegynder
30. juni 2004 - 19:44 #8
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
30. juni 2004 - 20:04 #9
Du kan jo dele dem imellem os
Avatar billede bak Forsker
30. juni 2004 - 20:15 #10
jeps
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester