Waar kan ik die methode vinden ?
in de code van je userform.
Private Sub UserForm_Initialize()
Sheets("Blad1").ListObjects("Tabel1").AutoFilter.ShowAllData
tdat.Value = Format(Date, "dd/mm/yyyy")
End Sub
in de code van je blad is dit voldoende.
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Kleurcode voor je userform, is aan te passen bij de eigenschappen. Kleuren door code is dan overbodig.
&H00FF9999&
Gebruik unload me ipv Me hide. Dan is reset_values overbodig in de sluitknop.
Private Sub cmbanul_Click()
Unload me
End Sub
Voor Sub reset_values()
Nu zijn er maar drie controls die je wilt leegmaken,heb je echter vb 30 controls dan wordt het een lange lijst.
Gebruik beter zoiets. (1 of 100 controls, maakt niets uit)
Private Sub reset_values()
For Each ct In Controls
Select Case TypeName(ct)
Case "TextBox": ct.Text = ""
Case "ComboBox", "ListBox": ct.ListIndex = -1
End Select
Next ct
tdat.Value = Format(Date, "dd/mm/yyyy")
end sub
in plaats van
Private Sub reset_values()
UserForm1.tuit.Value = ""
UserForm1.tin.Value = ""
UserForm1.Tcat.Value = ""
End Sub
Ik zou lijst gebruiken in plaats van RowSource.
Maak een tabel van je Categorie lijst.
Stel de naam van je tabel is cat_tbl dan wordt UserForm_Initialize:
[code]Private Sub UserForm_Initialize()
Sheets("Blad1").ListObjects("Tabel1").AutoFilter.ShowAllData
tdat.Value = Format(Date, "dd/mm/yyyy")
Tcat.List = [cat_tbl].Value
End Sub
[/code]