Avatar billede kahl Mester
16. februar 2017 - 13:02 Der er 9 kommentarer

automatisk dobbelt entry fra List boks

Hej

Jeg har en list boks der viser en overskrift og et række nummer. jeg kunne godt tænke mig at når jeg vælger et punkt at jeg så også får række nummeret fra muligheden neden under med. og vælger jeg den nederste mulighed skal den bare tage den sidste aktive række i arket.

Så skal indholdet i en kollonne basseret på de 2 række nummere listes i en ny listboks som gerne må være i samme Userform. er det muligt, eller skal jeg have to userforms? tænkte hvis man var lidt usikker på hvad de overskriften indeholde af elementer så kunne klikke frem og tilbage.
16. februar 2017 - 13:36 #1
Måske  var det en ide at give din ListBox 2 kolonner, og så have rækkenummeret i anden kolonne... derved kunne du nemt snuppe valgte list-element og hente kolonne 2 (men da listbox kolonnerne starter fra nul er det faktisk nr 1) f.eks. således

Me.TextBox1.Text = Me.ListBox1.List(Me.ListBox1.Listindex, 1)

Ved godt, at det kræver du ændre lidt i koden fra i går, således du får data i kolonner i stedet for med komma imellem - men så er der jo lidt at lege med :-)
Avatar billede kahl Mester
17. februar 2017 - 09:40 #2
Hvordan gør jeg så det?
17. februar 2017 - 09:59 #3
der skal kigges lidt på columncount, og måske columnwidth, og hvordan men tilføjer data til flere kolonner - google is your friend. Lad mig se noget kode, hvor du har forsøgt inden jeg hjælper dig videre
Avatar billede kahl Mester
17. februar 2017 - 10:11 #4
Public Sub OverskriftPop()

    Dim lRow As Long
    Dim wsSource As Worksheet
    Dim rSource As Range
    Dim udtOverskriftPop As OverskriftPop
   

    Set wsSource = ActiveSheet
    Set rSource = ActiveSheet.Range("Y1").CurrentRegion.Columns(1)
   
    For lRow = rSource.Cells(3, 25).Row To rSource.Cells(Rows.Count, 25).End(xlUp).Row
        If rSource.Cells(lRow, 25).Font.Bold = True Then
            ufmOverskriftPop.lstOverskrift.AddItem rSource.Cells(lRow, 25).value & ", " & lRow
        End If
    Next lRow
   
    ufmOverskriftPop.Show
   
    If Not ufmOverskriftPop.IsCancelled Then
        ufmOverskriftPop.GetValues udtOverskriftPop
        'continue process after OK here
        With udtOverskriftPop
           
        End With
    End If
    Unload ufmOverskriftPop
   
End Sub

Er der andre metoder du gerne vil se?
17. februar 2017 - 11:23 #5
Jeg vil gerne se dig gøre et forsøg på, at få  lRow  lagt ind i kolonne 2 - ligegyldigt om du fejler - men vil gerne se et forsøg

Her er lidt inspiration

With Me.lstbox
    Me.lstbox.ColumnCount = 2
    Me.lstbox.ColumnWidths = "60;60"
    .AddItem
    .List(i, 0) = Company_ID
    .List(i, 1) = Company_name
    i = i + 1

end with
Avatar billede kahl Mester
19. februar 2017 - 20:37 #6
jeg er slet ikke med på hvordan jeg skal gribe overstående an i forhold til det der allerede er lavet...
Avatar billede kahl Mester
19. februar 2017 - 21:04 #7
Arr men hvorfor er det når man har set blind på en fejl og smider håndklædet i ringen og beder om hjælp, så finder man selv fejlen....
Så blev det en god søndag aften alligevel ;)

Men kan jeg lave således at liste 2 opdateres som jeg klikker på liste 1?
den skal gerne loope igennem de linjer der er mellem den valgte overskrift og den næste og fylde liste 2 med de komponenter den finder (og dropper de tomme ;) ). Eller er jeg nød til at en ny userform?
19. februar 2017 - 21:28 #8
Der er jo events på listboksen - så du kan f.eks. kode i

Private Sub ListBox1_Change()
    If Not Me.ListBox1.ListIndex = -1 Then
        'lav dit loop som fylder ListBox2
    End If
End Sub
Avatar billede kahl Mester
20. februar 2017 - 12:29 #9
Jeg syntes desværre ikke jeg har held af at få den til at køre overstående den starter slet ikke koden... skal jeg lave en med modifikationer i forhold til den tidligere kode?
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

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