Criterio en filtro avanzado

Me llevo rompiendo la cabeza y es que no me va.
Tengo una tabla muy grande y quiero obtener algunos datos, he creado un filtro avanzado y me resulta pero quiero un criterio no tan común como poner un nombre o un dato que se encuentra en la tabla. Tampoco es una condición, lo único que quiero es que me aparezca un listado de todo los ingresos del mes de febrero. Como criterio en el filtro avanzado he puesto esto:
=??/02/2008
Sale: "error en fórmula desconocida".
Cuando le pongo comillas y hago una concatenación:
=??&"02/2008"    -> aki tambien me sale "error en la formula"
si le pongo "" ,   ="??"&"02/2008" acepta, pero no filtra ningun registro. ¿Se qué esta leyendo como texto pero como hacer para que esta fórmula la entienda como fecha?
¿Ayúdenme por favor puesto que quiero hacer un reporte de ingresos del mes de febrero con filtros avanzados o existe otra manera de hacer mi reporte?
Gracias amigos.
{"lat":-12.1252642183316,"lng":-77.080078125}

1 Respuesta

Respuesta
2
Es tan fácil como marcar las columnas de tus datos, pinchar en Datos>Validación elige formato fecha y marcas entre que fechas quieres filtrar los datos.
>Un saludo
>Julio
Hola Gracias por contestar pero no te entiendo.. ¿podrías ser más detallado?.
Ojo no quiero que los datos de mi tabla se alteren. Yo con el filtro avanzado quiero extraer los registros que cumplan mi criterio y se copie a otra hoja.
Ademas mi situación exacta es esta:
-Tengo un registro de pacientes que consta de solo de 88 campos(columnas) y se encuentra en la hoja DATOS
-En una hoja aparte llamada REPORTE estoy haciendo un filtro avanzado que me copie los registros de la hoja DATOS y los pegue en la hoja REPORTE.
-En el filtro avanzado ingreso lo siguiente:
Acción: Copiar a otro lugar.
Rango: TABLA -> tabla es un nombre que he definido para listar solo 10 campos o columnas.
Rango de Criterios: $J$2:$J$3 -> donde J2 tiene el encabezado llamado INGRESO y J3 es el dato a buscar en la tabla.
(La celda J3 contiene: ="??"/BUSCARV(E3, MESES2, 2,0)/E2 ) puesto que en la celda E2 contiene un campo lista con los años y la celda E3 contiene un campo lista con los meses. Ademas tengo un rango definido como MESES02 en donde aparece el mes y su numero.
La idea es que el filtro avanzado busque por mes y año dentro de mi tabla TABLA.
- Y por ultimo añado una macro a una autoforma para que llame al filtro avanzado.
Gracias por su ayuda pls.
Te lo pongo más fácil, elegirás la fecha de inicio, elegirás la fecha del final, y elegirás el rango donde buscar tus datos, los copiara y los llevará al lugar donde tu elijas.
Esta es la macro:
Private Sub Buscar_Fecha()
Sheets("DATOS").Select
'Tres variables para recoger los datos desde InputBox
FeInicio = InputBox("Escribe la fecha de incio", "Formato DIA/MES/AÑO")
FeFinal = InputBox("Escribe la fecha final", "Formato DIA/MES/AÑO")
Rango = InputBox("¿En que columnas busco?", "Columnas")
'Elijo el rango donde buscar A:A para columnas, ó A2:FF12 para rango de celdas ¡Ojo aquí debes 'de especificar una fila por encima de tus datos si vas a empezar a buscar en la fila 14 debes de 'especificar la fila 13 por ej. A13 por que el autofiltro se aplicara desde esa fila hacia abajo.
Range(Rango).Select
'Hago un Autofiltro para seleccionar los datos
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=(FeInicio), Operator:=xlAnd _
, Criteria2:=(FeFinal)
'Especifico donde van a aparecer los datos, si fuese variable pones otra variable para indicarlo
Range("A1:A3").Select
Selection.Copy
'Eligo la Hoja donde pegarlo y la activo
Sheets("REPORTE").Select
'Selecciono la Celda donde pegar los datos, tambien puedes poner una variable
Range("A4").Select
'Pego los datos
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
De esta forma no tienes que poner listas, ni fórmulas ni filtros avanzados, ni hace tabla, todo lo eliges con el archivo completo de 88 columnas.
Pruébalo y ya me cuentas
>Un saludo
>Julio
Hola Julio, tengo un pequeño inconveniente, no lee las variables, y no filtra nada.
Yo estoy haciéndolo de esta manera:
Sub FILTRAR()
'Application.ScreenUpdating = False
Sheets("DATOS").Select
Application.Goto Reference:="TABLA"
Selection.Copy
Sheets("REPORTE").Select
Range("A3").Select
ActiveSheet.Paste
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Application.CutCopyMode = False
'Dos variables para recoger los datos desde InputBox
FECINI = InputBox("Escribe la fecha de incio", "Formato DIA/MES/AÑO")
FECFIN = InputBox("Escribe la fecha final", "Formato DIA/MES/AÑO")
'Hago un Autofiltro para seleccionar los datos
Range("A3:K1000").Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:=">=FECINI", Operator:=xlAnd _
, Criteria2:="<=FECFIN"
 Selection.AutoFilter
End Sub
no es necesario el rango puesto ke he copiado antes los rangos y en <span style="font-weight: bold;">S</span><span style="font-weight: bold;">election.AutoFilter Field:=7 </span>le digo ke sea la columna 7 a filtrar.
Gracias por ayudarme Julius ! :D
No entiendo porque has modificado en el Autofiltro Criteria1:=(FECINI), por la tuya
Criteria1:=">=FECINI"
Según te lo había puesto yo, ya busca desde la fecha indicada hacia delante no es necesario por "mayor que" ni tampoco "menor que" en el criterio 2, siempre buscará entre fechas por ej. desde 10/12/2008 a 20/01/2009, todos los registros que estén entre esas fechas te los filtará y los mostrará.
Ademas para que reconozca la variable debe de estar entre paréntesis.
Prueba esto y me cuentas, si te ha servido para corregir tu macro y la das por buena puntúa y finaliza esta pregunta.
>Un saludo
>Julio
Al final queda así mi macro y aun NO ME SALE, las variables si leen pero cuando es un texto simple, pero con este campo o columna fecha filtra y no aparece nada. El formato de las celdas en de fecha dd/mm/aaaa, no se cual seria el problema ahora.
Sub FILTRAR()
    Application.ScreenUpdating = False
    Sheets("DATOS").Select
    Application.Goto Reference:="TABLA"
    Selection.Copy
    Sheets("REPORTE").Select
    Range("A3").Select
    ActiveSheet.Paste
    Columns("C:C").Select
    Selection.Delete Shift:=xlToLeft
    Application.CutCopyMode = False
    'Dos variables para recoger los datos desde InputBox
    FECINI = InputBox("Escribe la fecha de inicio", "Formato DIA/MES/AÑO")
    FECFIN = InputBox("Escribe la fecha final", "Formato DIA/MES/AÑO")
    'Hago un Autofiltro para seleccionar los datos
    Range("A3:K1000").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=7, Criteria1:=(FECINI), Operator:=xlAnd _
, Criteria2:=(FECFIN)
End Sub
Gracias ! :)
La selection del autofilter escribe esto:
Selection.AutoFilter Field:=1, Criteria1:=">=" & FECINI, Operator:=xlAnd _
, Criteria2:="<=" & FECFIN
¡¡¡¡¡ OJO TIENES QUE PONER LAS FECHAS EN FORMATO INGLES MES/DIA/AÑO
MM/DD/AAAA
Pruébalo y me cuentas
>Un saludo
>Julio
Gracias Julio, ya me salio, esta muy bien el filtro. La macro quedo así:
Sub FILTRAR()
Application.ScreenUpdating = False
Sheets("DATOS").Select
Application.Goto Reference:="TABLA"
Selection.Copy
Sheets("REPORTE").Select
Range("A3").Select
ActiveSheet.Paste
Columns("C:C").Select
Selection.Delete Shift:=xlToLeft
Application.CutCopyMode = False
'Dos variables para recoger los datos desde InputBox
FECINI = InputBox("Escribe la fecha de inicio", "Formato MES/DIA/AÑO")
FECFIN = InputBox("Escribe la fecha final", "Formato MES/DIA/AÑO")
'Hago un Autofiltro para seleccionar los datos
Range("A3:K1000").Select
Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:=">=" & FECINI, Operator:=xlAnd _
, Criteria2:="<=" & FECFIN
End Sub
Gracias Julius ! :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas