Problema con buscar entre fechas en macros excel

Hola a todos, es la primera vez que posteo aquí, pero por lo que he leído en estos foros, seguro que me solucionáis el tema.
Tengo una pequeña aplicación en excel con macros y forms, explico un poco lo que hago:
Los datos a introducir son nombres, fechas, teléfonos y cantidades:
Esta es la forma en la que añado la fecha a hoja "datos". Le indico el formato, para que cuando haga la búsqueda, me reconozca que es una fecha:
...
ActiveCell = Format(TextBox3, "mm/dd/yyyy") 'copiar el contenido del textbox3 en la celda indicada
...
Ahora, en la hoja "datos" tengo lo siguiente:
dos calendarios, donde calendar1=celda M1 (fecha inicial) y calendar2=celda N1 (fecha final)
un commandbutton con el siguiente código:
Private Sub CommandButton1_Click()
Sheets("datos").Select
ActiveSheet.Range("a1:k1000").AutoFilter field:=4, Criteria1:=">=" & Format(Range("M1"), "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(Range("N1"), "mm/dd/yyyy")
End Sub
Y el filtro me lo hace perfecto, el PROBLEMA viene cuando todo esto, lo ejecuto desde un userform (que es lo que necesito), el form que tengo es el siguiente:
2 textbox, 2 calendarios y un botón
Private Sub Calendar1_Click()
TextBox1 = Calendar1.Value
Range("M1") = TextBox1
End Sub
Private Sub Calendar2_Click()
TextBox2 = Calendar2.Value
Range("N1") = TextBox2
End Sub
Private Sub CommandButton1_Click() 'es exactamente el mismo codigo que el anterior
Sheets("datos").Select
ActiveSheet.Range("a1:k1000").AutoFilter field:=4, Criteria1:=">=" & Format(Range("M1"), "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(Range("N1"), "mm/dd/yyyy")
End Sub
Pues con este form me realiza el filtro por la columna fecha, pero no encuentra coincidencias, cuando si que las ahí.
Repito, es lo mismo que hago desde la propia hoja "datos" pero desde un form, y me funciona.
¿Por qué? ¿Alguna ayudita?
P.D.: Uso windows xp y office 2003 (por si vale de algo esta información)
Gracias

1 respuesta

Respuesta
1
No probé tu código, pero leyéndolo veo que te falta convertir los datos 'textbox' a fecha.
Movelos a la hoja con esta instrucción:
Range("M1") = CDate(TextBox1) y lo mismo con el otro campo
Probalo y comentame

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas