Andre175
Gebruiker
- Lid geworden
- 2 feb 2018
- Berichten
- 351
goedenavond allen
ik kom er ff niet (helemaal) uit hoe ik de 2e en 3e combobox kan filteren na keuze van de 1e combobox.
Van de site van SNB staat een duidelijk voorbeeld wat ook werkt, echter heb ik de eerste kolom van mijn tabel uitgebeid met een ID nummer.
nu gaat het mis, de eerste combobox gaat goed, maar vervolgens komt er niets in de 2e en 3e combobox.
Ik heb al het 1 en ander geprobeerd maar weet niet wat ik nu precies moet aanpassen in de code.
CB1 = keuze opdrachtgever Kolom B in de tabel
CB2 = keuze ritnummer Kolom C
CB3 = keuze zendingnummer Kolom D
waar moet ik de code aanpassen en graag een kleine uitleg erbij zodat ik het weet waarom.
(Het gaat um de userform "MAINFORM" in het bestand. Userform "MULTIPAGE" is niet van belang)
Bekijk bijlage 2018 test2.xlsb
bvd André
ik kom er ff niet (helemaal) uit hoe ik de 2e en 3e combobox kan filteren na keuze van de 1e combobox.
Van de site van SNB staat een duidelijk voorbeeld wat ook werkt, echter heb ik de eerste kolom van mijn tabel uitgebeid met een ID nummer.
nu gaat het mis, de eerste combobox gaat goed, maar vervolgens komt er niets in de 2e en 3e combobox.
Ik heb al het 1 en ander geprobeerd maar weet niet wat ik nu precies moet aanpassen in de code.
CB1 = keuze opdrachtgever Kolom B in de tabel
CB2 = keuze ritnummer Kolom C
CB3 = keuze zendingnummer Kolom D
waar moet ik de code aanpassen en graag een kleine uitleg erbij zodat ik het weet waarom.
(Het gaat um de userform "MAINFORM" in het bestand. Userform "MULTIPAGE" is niet van belang)
Code:
Private Sub UserForm_Initialize()
'###############################
'## PAGE: INVOER ##
'###############################
CB4.List = Split("Laden |Lossen |Overig ", "|")
sn = Sheets("invoer").Cells(1).CurrentRegion
For j = 2 To UBound(sn)
If InStr(c01 & ",", "," & sn(j, 2) & ",") = 0 Then c01 = c01 & "," & sn(j, 2)
Next
CB1.List = Split(Mid(c01, 2), ",")
CB2.Clear
CB3.Clear
'###############################
'## PAGE: Debiteuren ##
'###############################
' TBK01.Value = WorksheetFunction.Max([IDsSch]) + 1
With ListBDeb
.ColumnHeads = False
.List = [Tbl_Debiteuren].Value
.ColumnCount = [Tbl_Debiteuren].CurrentRegion.Columns.Count
.ColumnWidths = "20;70;70;30;70;70;70;0;0;0;0;0"
End With
sn = Sheets("Debiteuren").Cells(1).CurrentRegion
For j = 1 To 12 'UBound(sn, 2)
Me("Lbd" & Format(j, "00")).Caption = sn(1, j)
Next
'###############################
'## PAGE: KLANTEN ##
'###############################
' TBK01.Value = WorksheetFunction.Max([IDsSch]) + 1
With ListBklant
.ColumnHeads = False
.List = [Tbl_KLANTEN].Value
.ColumnCount = [Tbl_KLANTEN].CurrentRegion.Columns.Count
.ColumnWidths = "20;70;70;30;70;70;70;0;0;0"
End With
sn = Sheets("klanten").Cells(1).CurrentRegion
For j = 1 To 10 'UBound(sn, 2)
Me("Lbk" & Format(j, "00")).Caption = sn(1, j)
Next
End Sub
Private Sub CB1_Change()
CB2.ListIndex = -1
CB3.ListIndex = -1
If CB1.ListIndex > -1 Then CB2.List = Split(lijst(2), ",")
With Sheets("debiteuren")
For i = 2 To .Range("C" & Rows.Count).End(xlUp).Row
If .Cells(i, 3) = CB1.List(CB1.ListIndex, 0) Then
For j = 4 To 13
Me("L_" & Format(j, "000")).Caption = .Cells(i, j).Value
Me("L_002").Caption = .Cells(i, 2).Value
Next j
End If
Next
End With
End Sub
Private Sub CB2_Change()
If CB2.ListIndex > -1 Then CB3.List = Split(lijst(2), ",")
End Sub
Private Sub CB3_Change()
If CB3.ListIndex = -1 Then Exit Sub
c01 = CB1.Value & CB2.Value & CB3.Value & CB4.Value
For j = 2 To UBound(sn)
If sn(j, 1) & sn(j, 2) & sn(j, 3) & sn(j, 4) = c01 Then Exit For
Next
For jj = 1 To 15
Me("TB" & jj).Value = sn(j, jj + 5)
Next
End Sub
Bekijk bijlage 2018 test2.xlsb
bvd André
Laatst bewerkt: