Macro para filtrar datos entre dos fechas

Mi problemita es el siguiente:
Tengo una base de datos donde la columna "A" contiene los datos de FECHA la columna "B" los datos de nombres y apellidos y la columna "C" contiene medidas por litros lo que quiero realizar es una macro que me deje realizar reportes entredós fechas especificas es decir una fecha inicial y una fecha final hasta el momento he hecho de todo

2 respuestas

Respuesta
2
No se si lo que necesites es una tabla dinámica, en lugar de una macro, ya que la tabla dinámica te permite escoger solo la información tal cual tu la filtres, no es como el autofiltro que solo te oculta las filas, la tabla dinámica se podría decir que borra el resto de la info, y solo mantiene la info según los criterios de selección
En la pestaña Insertar - Tablas dinámicas, encuentras lo que te menciono
Hola buen día octavohokage
De antemano te agradezco por el apoyo y tu pronta respuesta, lo que sucede es que estoy automatizando procesos para realizar reportes según dos fechas; una inicial y una final y me gustaría realizarlo por medio de un formulario que al introducir estas dos fechas me genere un listado en otro libro o plantilla para imprimir el informe, la parte de tablas dinámicas es excelente pero, mis jefesitos quieren que la mayoría de los reportes sean automáticos más no elaborados manualmente.
octavohokage, te quedo en deuda por tu apoyo, espero que me puedas ayudar.
Agradeciendo tu atención
att;
Palito jijijijijijii
Yo creo que lo mejor es una tabla dinámica por tiempos de respuesta y todo, pero en fin tu eres el usuario.
Esta macro hace lo que pides pero para que funcione necesitas primero hacer lo siguiente
1)La hoja en la que tienes toda la info con fecha nombre y el resto se debe llamar Base1
2) Debes crear una hoja que se llame Reporte, en la que escribirás en A1:"Fecha Inicial", en A2 "Fecha Final".
3) En la Fila 4 de tu hoja Reporte debe colocar en el mismo orden que tienes en tu Hoja Base1, el encabezado de la info que vas a presentar es decir, Fecha, Nombre y el resto
4) Las fechas de Inicio y Fin las debes colocar en B1 y B2 respectivamente, luego inserta un botón para que corra la macro y listo
Sub Reporte()
Dim fe_Ini, Fe_Fin As Date
Dim Comprobar, a
Comprobar = True: a = 0 ' Inicializa variables.
a = a + 1
Sheets("Reporte").Select
Rows("5:35").Select
Selection.ClearContents
fe_Ini = Range("B1").Value
Fe_Fin = Range("B2").Value
Do ' Bucle externo.
Do While a < 500 ' Bucle interno.
Sheets("Base1").Select
a = a + 1 ' Incrementa el contador.
If Range("A" & a).Value = "" Then ' Si la condición es verdadera.
Comprobar = False ' Establece el valor a False.
Else
If Range("A" & a) >= fe_Ini And Range("A" & a) <= Fe_Fin Then
Rows(a).Select
Selection.Copy
Sheets("Reporte").Select
Rows(k).Select
ActiveSheet.Paste
Sheets("Base1").Select
Application.CutCopyMode = False
Exit Do ' Sale del bucle interno.
End If
End If
Loop
Loop Until Comprobar = False ' Sale inmediatamente
Sheets("Reporte").Select
Range("A1").Select
End Sub
Respuesta

Yo la he probado y tampoco me va la he echo tal cual se especifica con esos datos y esos nombres de hoja y al lanzarla y pasar el depurador a la macro me marca Rows(k).Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas