[VBA] Filter toevoegen aan listbox vanuit Combobox.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Sr Juan
  • Registratie: Maart 2002
  • Laatst online: 08-10 03:08

Sr Juan

7 uur later dan bij jou in NL

Topicstarter
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 :X

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

Alle reacties


Acties:
  • 0 Henk 'm!

  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Mildpower schreef op dinsdag 3 maart 2020 @ 23:31:
... want iedere keer krijg ik errors...
En wat verwacht je nu dan? Dat wij gaan raden welke errors je krijgt en vervolgens je script gaan debuggen?

QnJhaGlld2FoaWV3YQ==


Acties:
  • 0 Henk 'm!

  • Sr Juan
  • Registratie: Maart 2002
  • Laatst online: 08-10 03:08

Sr Juan

7 uur later dan bij jou in NL

Topicstarter
Brahiewahiewa schreef op woensdag 4 maart 2020 @ 02:01:
[...]

En wat verwacht je nu dan? Dat wij gaan raden welke errors je krijgt en vervolgens je script gaan debuggen?
Nee je hebt gelijk dat is niet wat ik zoek, eigenlijk ben ik op zoek naar iemand die mij de goede kant kan opwijzen, waar ga ik de verkeerd in het script

Ik weet het is geen excuus, maar ik heb weinig kaas gegeten van VBA

El trago de mezcal, como lo senos de las mujeres, uno es insuficiente, tres son demasiados


Acties:
  • 0 Henk 'm!

  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 09-10 08:49

DaFeliX

Tnet Devver
Mildpower schreef op woensdag 4 maart 2020 @ 19:58:
[...]


Nee je hebt gelijk dat is niet wat ik zoek, eigenlijk ben ik op zoek naar iemand die mij de goede kant kan opwijzen, waar ga ik de verkeerd in het script
[...]
Ik denk dat we je beter kunnen helpen als je aangeeft welke foutmelding(en) je krijgt :)

Einstein: Mijn vrouw begrijpt me niet