my experience:
"Unload Me" is just fine when used within the userform code.
advantages of this syntax:
1.you can change the name of the userform without having to edit your code.
2.you know at a glance that it's the form itself and not another you are manipulating
depending of your goal, I think you could also use
unloading has the advantage of clearing memory, but the userform will have to be loaded each time again, which can be rather annoying when there are much data to load
Code:
Private Sub btnFilter_Click()
...
.Range("a1:p1").AutoFilter Field:=1, Criteria1:=(">=" & startDate), _
Operator:=xlAnd, Criteria2:=("<=" & startDate)
tbstartdate = ""
Me.Hide
Range("A1:P" & Cells(Rows.Count, "A").End(xlUp).Row).Copy
...
kind regards,
Erik