Mijn vraag
Ik zoek een oplossing voor mijn userform waarbij ik twee transacties heb
1 is invoeren nieuwe transactie
2 is het veranderen van oude transacties.
In Mijn Listbox staan alle transacties uit het verleden.
Nu wil ik vanuit een combox zeggen dat de listbox alleen een bepaalde categorie laat zien
Relevante software en hardware die ik gebruik
Office 365
Wat ik al gevonden of geprobeerd heb
Ik heb bijna stackoverflow en google gelezen, maar schijnbaar heb ik mijn script te moeilijk gemaakt want iedere keer krijg ik errors.
Regel 39 t/m 47 is mijn laatste poging geweest
Mijn code:
Ik zoek een oplossing voor mijn userform waarbij ik twee transacties heb
1 is invoeren nieuwe transactie
2 is het veranderen van oude transacties.
In Mijn Listbox staan alle transacties uit het verleden.
Nu wil ik vanuit een combox zeggen dat de listbox alleen een bepaalde categorie laat zien
Relevante software en hardware die ik gebruik
Office 365
Wat ik al gevonden of geprobeerd heb
Ik heb bijna stackoverflow en google gelezen, maar schijnbaar heb ik mijn script te moeilijk gemaakt want iedere keer krijg ik errors.
Regel 39 t/m 47 is mijn laatste poging geweest

Mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
| Option Explicit Dim Rng As Range, fnd As Range Dim Ctrl As Control Dim iRow As Long Dim wsAE As Worksheet Private Sub C_02_Click() T_02.Value = C_02.Column(1) T_18.Value = C_02.Column(11) T_21.Value = C_02.Column(10) T_22.Value = C_02.Column(8) T_12.Value = C_02.Column(3) End Sub Private Sub T_09_Click() T_FINAL.Value = t_09.Column(1) End Sub Private Sub CMB_addnew_Click() Set wsAE = Worksheets("BALANCE") If MsgBox("Correct entry?", vbYesNo + vbQuestion, "Check the data!") = vbNo Then Exit Sub iRow = wsAE.Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 wsAE.Cells(iRow, 1).Resize(, 13).Value = Array(T_id.Value, C_02.Value, T_02.Value, _ T_01.Value, T_18.Value, T_21.Value, T_22.Value, T_12.Value, C_05.Value, t_09.Value, , T_04.Value, T_03.Value) MsgBox "The new entry has been saved.", vbInformation, "Done" For Each Ctrl In Controls If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = "" Next Ctrl LB_01.ListIndex = -1 LB_01.TopIndex = 0 Call UserForm_Initialize End Sub Private Sub Textbox1_Change() Dim i As Long Dim arrList As Variant Me.LB_01.Clear If BALANCE.Range("A" & BALANCE.Rows.Count).End(xlUp).Row > 1 And Trim(Me.Textbox1.Value) <> vbNullString Then arrList = BALANCE.Range("A1:A" & BALANCE.Range("A" & BALANCE.Rows.Count).End(xlUp).Row).Value2 For i = LBound(arrList) To UBound(arrList) If InStr(1, arrList(i, 1), Trim(Me.Textbox1.Value), vbTextCompare) Then Me.LB_01.AddItem arrList(i, 1) End If Next i End If If Me.LB_01.ListCount = 1 Then Me.LB_01.Selected(0) = True End Sub Private Sub CMB_change_Click() Set wsAE = Worksheets("BALANCE") Set Rng = wsAE.Range("A2:A" & wsAE.Cells(Rows.Count, "A").End(xlUp).Row) Set fnd = Rng.Find(What:="*", LookIn:=SR.Value, Lookat:=SR.Value) If LB_01.ListIndex = -1 Then MsgBox "First choose a item in the list!", vbCritical, "Attention!" Exit Sub Else If T_id = vbNullString Then MsgBox "Customizing is not possible, no entries found", vbExclamation, "Attention!" Exit Sub ElseIf Not fnd Is Nothing Then Application.EnableEvents = True If MsgBox("Correct entry?", vbYesNo + vbQuestion, "Check the data!") = vbNo Then Exit Sub wsAE.Cells(iRow, 1).Resize(, 13).Value = Array(T_id.Value, C_02.Value, T_02.Value, _ T_01.Value, T_18.Value, T_21.Value, T_22.Value, T_12.Value, C_05.Value, t_09.Value, , T_04.Value, T_03.Value) MsgBox "The changes have been saved.", vbInformation, "Done" Application.EnableEvents = True End If For Each Ctrl In Controls If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = "" Next Ctrl LB_01.ListIndex = -1 LB_01.TopIndex = 0 Call UserForm_Initialize End If End Sub Private Sub CMB_clear_Click() For Each Ctrl In Controls If TypeName(Ctrl) = "TextBox" Or TypeName(Ctrl) = "ComboBox" Then Ctrl.Value = "" Next Ctrl LB_01.ListIndex = -1 LB_01.TopIndex = 0 Call UserForm_Initialize End Sub Private Sub CMB_close_Click() Unload Me End Sub Private Sub LB_01_change() C_02.Value = LB_01.Column(1) T_02.Value = LB_01.Column(2) T_01.Value = LB_01.Column(3) T_12.Value = LB_01.Column(7) C_05.Value = LB_01.Column(8) T_04.Value = LB_01.Column(11) T_03.Value = LB_01.Column(12) t_09.Value = LB_01.Column(9) T_18.Value = LB_01.Column(4) T_21.Value = LB_01.Column(5) T_22.Value = LB_01.Column(6) End Sub Private Sub UserForm_Initialize() T_id.Value = WorksheetFunction.Max([ids]) + 1 C_02.List = [datalist].Value C_05.List = [BUoM].Value t_09.List = Sheets("SALDOFINALPIVOT").Range("A:B").Value T_01.Value = Now ThisWorkbook.RefreshAll End Sub |
El trago de mezcal, como lo senos de las mujeres, uno es insuficiente, tres son demasiados