Aquí tienes un código y espero te sirva
Sub filtrar()
Dim dStartDate As Date
Dim dEndDate As Date
Dim myrango, myrango1 As Range
Dim celda As Object
Dim reg, uf As Integer
Dim aei As String
dStartDate = UserForm1.TextBox1.Text
dEndDate = UserForm1.TextBox2.Text
Set myrango = Sheets("resultado").Range("A:A")
Sheets("resultado").Range("A2:E" & WorksheetFunction.CountA(myrango) + 3).ClearContents
Set myrango1 = Sheets("base de datos").Range("A:A")
For Each celda In Sheets("base de datos").Range("e2:e" & WorksheetFunction.CountA(myrango1) + 3)
If NUMEROENTRE(celda, dStartDate, dEndDate) = True Then
Sheets("resultado").Range("A" & Rows.Count).End(xlUp)(2) = celda.Offset(0, -4).Value
Sheets("resultado").Range("B" & Rows.Count).End(xlUp)(2) = celda.Offset(0, -3).Value
Sheets("resultado").Range("C" & Rows.Count).End(xlUp)(2) = celda.Offset(0, -2).Value
End If
Next celda
Sheets("resultado").activate
Exit Sub
End
End Sub
'*************************************************************************************
'*FUNCION CREADA PARA LA COMPARACION DE LAS FECHAS, PUEDE SER USADA COMO FORMULA PARA*
'*COMPARAR DATOS NUMERICOS ENTRE UN MINIMO Y UN MAXIMO *
'*NO DEBE DE SER BORRADA *
'*************************************************************************************
Function NUMEROENTRE(Numero, lim_inf, lim_sup)
NUMEROENTRE = False
If Numero >= lim_inf And Numero <= lim_sup Then
NUMEROENTRE = True
End If
End Function
En el botón Calcular debes colocar este código
Private Sub CommandButton1_Click()
Call filtrar
End Sub