07. februar 2013 - 22:53Der er
4 kommentarer og 1 løsning
Fylde en combobox liste på en userform med data fra et andet regneark.
Jeg har en userform (UserFormValg1) med en knap (commandbutton1), der åbner en anden userform (Faktura1). (Faktura1) indeholder en combobox (CB1_Kunder) og 4 textboxe (TxtNavn1, TxtNavn2, TxtNavn3 og TxtNavn4). Mit ønske er at når Faktura1 åbner skal CB_Kunder dropdownlisten fyldes med værdier fra kolonne A i et regneark, der hedder (Kunder). Når faktura 1 er åbnet skal txtNavn1-4 fyldes værdier fra samme regneark som combobox fik værdier.
TxtNavn1 = kolonne B TxtNavn2 = kolonne C TxtNavn3 = kolonne D TxtNavn4 = kolonne E
Jeg har rodet længe med problemet og er derfor kommet lidt i tidsnød. Håber en af jer kan hjælpe mig.
Const kunderFilNavn = "kunder.xlsm" Const førsteKundeRække = 2 Dim kunderXLS As Object Dim antalRækker As Long, kundeRæk As Long
Dim sti As String Private Sub CB1_Kunder_Change() kundeRæk = Me.CB1_Kunder.ListIndex + førsteKundeRække indsætKundeData kundeRæk End Sub Private Sub CmdLuk_Click() Application.DisplayAlerts = False lukKunder Unload Me End Sub Private Sub lukKunder() With kunderXLS .ActiveWorkbook.Saved = True .ActiveWorkbook.Close .Application.Quit End With
Set kunderXLS = Nothing End Sub Private Sub userform_initialize() Application.ScreenUpdating = False
opsætningAfSti indlæsningAfKunder End Sub Private Sub opsætningAfSti() sti = hentSti sti = ActiveWorkbook.Path If Right(sti, 1) <> "\" Then sti = sti & "\" End If End Sub Private Sub indlæsningAfKunder() Dim ræk As Long, kundeNr As Integer Set kunderXLS = CreateObject("Excel.Application") With kunderXLS .Workbooks.Open sti & kunderFilNavn
For ræk = førsteKundeRække To antalRækker kundeNr = .Range("A" & ræk) If CStr(kundeNr) <> "" Then Me.CB1_Kunder.AddItem .Range("A" & ræk) indsætKundeData ræk End If Next ræk End With
Me.CB1_Kunder.ListIndex = 0
End Sub Private Sub indsætKundeData(ræk) With kunderXLS.ActiveWorkbook.Sheets("Kunder") Me.TxtNavn1 = .Range("B" & ræk) Me.TxtNavn2 = .Range("C" & ræk) Me.TxtNavn3 = .Range("D" & ræk) Me.TxtNavn4 = .Range("E" & ræk) End With End Sub
Tak for løsningen, det virker fint! Her er svar og point
Synes godt om
Ny brugerNybegynder
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.