** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Filtro fecha mas reciente
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoFiltro fecha mas reciente

 Responder Responder
Autor
Mensaje
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Tema: Filtro fecha mas reciente
    Enviado: 19/Septiembre/2018 a las 23:19
Que tal a todos,

Como puedo con un Macro seleccionar la fecha mas reciente en Excel?

He logrado aplicar filtros con criterios en campo numericos pero con fechas no lo he conseguido.

Columna A; Contiene fechas requiero filtrar la fecha mas reciente. La fecha esta de esta forma "Mes y Día, ejemplo September 12".

Ejemplo de filtro con criterios filtrando el valor 10 de la columna AG que es la No 33:

Sheets("Nombre de la hoja").select ActiveSheet.Range("$A:$AG").Autofilter Field:=33, Criteria:="">=10" , Operator:=xlAnd

Alguna idea, para solo filtrar la ultima fecha?

De antemano gracias.

DS

Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5454
Enlace directo a este mensaje Enviado: 20/Septiembre/2018 a las 02:48
Al parecer tienes las fechas en la columna AG.

Prueba con:
Sub F_Reciente()
  Dim maxF As String
  maxF = Format(WorksheetFunction.Max(Worksheets("Hoja2").Range("AG:AG")), "dd/mm/yyyy")
  Worksheets("Hoja2").Range("$A:$AG").AutoFilter Field:=33, Operator:=xlFilterValues, Criteria1:=maxF
End Sub



EDITADO (ASV-20/09/18): Si las fechas no están en orden cronológico, el código sería diferente.


Editado por AnSanVal - 20/Septiembre/2018 a las 14:00
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 20/Septiembre/2018 a las 14:50
Gracias por contestar Antonio.

Y para este codigo debo tener activa alguna referencia?

Porque me envie el error:

Sub o Funcion no definida.

EDITO:

Las fechas  si esta en orden Cronologigo algo como esto:

Otra cosa que no comente es que el primer filtro seria la fecha mas reciente columna "A"
en la Columna AG aplicare otro filtro a todo lo que sea >=10
Y por ultimo en base a la columna "H" si tiene por ejemplo un valor <> de 0 ya sea 1,2,3 entonces aplicar un filtro por cada valor de estos y promediar la columna AG.

Lo comento porque no se si entonces el codigo propuesto tambien tenga que ser diferente.

DS


Editado por Dany Solis - 20/Septiembre/2018 a las 14:59
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5454
Enlace directo a este mensaje Enviado: 20/Septiembre/2018 a las 20:04

No tienes que activar ninguna referencia.

Siempre que tus 'fechas' sean realmente fechas1 y no textos, las tienes en orden cronológico inverso, (tienes primero día 11 y luego día 10).


En ese caso, podemos emplear DESREF con un filtro avanzado:

[B1]   Fechas   (título de campo).

[B2:Bn)  Las fechas.


La macro en un módulo ordinario:

Sub FiltrarFecha()

  Range("B:B").AdvancedFilter Action:=xlFilterInPlace, _

        CriteriaRange:=Range("CZ1:CZ2")

End Sub


Criterios:

[CZ1]   Fechas (igual que B1).

[CZ2]   =DESREF(B1;CONTAR(B:B);0)



1.- a) En mi equipo Septiembre 11  es una fecha (español)  y (sin forzar la alineación) se alinea a la derecha (una fecha es un número). b) Si entro September 11, me lo toma como texto y se alinea a la izquierda. En tu ejemplo tienes forzada alineación centrada y no puedo saber si son fechas (inglés) o son texto.




Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 20/Septiembre/2018 a las 22:39
Gracias Antonio, no entiendo esta parte:
Publicado originalmente por AnSanVal AnSanVal escribió:

En ese caso, podemos emplear DESREF con un filtro avanzado:

[B1]   Fechas   (título de campo).

[B2:Bn)  Las fechas.


Criterios:

[CZ1]   Fechas (igual que B1).

[CZ2]   =DESREF(B1;CONTAR(B:B);0)






Es un campo tipo fecha y como comenta tengo forzada la alineacion al centro.

Gracias
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 15:22
He estado tratando de encontrar que tipo de fecha es el mencionado.

Quiero saber si es:

dd/mm/yyyy
dd/mmmm/yyyy

Para poder adaptar el codigo de Antonio.

Este tipo de fecha como se representa en vba:
Wednesday,March 14, 2012
?

De antemano gracias.

DS

Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton, NY
Estado: Sin conexión
Puntos: 3338
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 16:04
Si tienes dd/mmmm/yyyy


La fecha 18 de septiembre de 1998 se presentar'a como
10/September/2018 o
18/septiembre/2018

Depende de tu configuracion de ti maquina

Luis

Teclado en ingles, sin acentos, perdon por la ortografia.
Un saludo desde la prisión de Estremera (Madrid VII)
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 16:16
Me aplica el filtro, pero no la ultima fecha me aplica un filtro con datos fechas vacias.
No se porque pone esa fecha en el filtro si ni si quiere existe.

Adjunto imagen:



DS
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Binghamton, NY
Estado: Sin conexión
Puntos: 3338
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 17:08
No se ve la imagen (al menos donde yo estoy, quizás está filtrada por el FW, lo veo esta noche en casa, si puedo)
Un saludo desde la prisión de Estremera (Madrid VII)
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 17:27
En si es una imagen del filtro personalizado.

Esto es lo que aplica el Macro, pero como comento no tengo esa fecha en mis resgistros.

equal = Saturday/December/1899

Dejo una copia del archivo, por si pueden hecharle un vistazo.

Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5454
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 19:18
Si no lo entendiste, intentaré explicarte el proceso manual. Pero tengo que modificar DESREF pues tal como sospechaba tus fechas NO son fechas (aunque lo parezcan).


Para el modelo que has subido.


En la celda [CZ1] de la hoja «Calculos» escribe   =A1 

En la celda [CZ2] de la hoja «Calculos» escribe   =DESREF(A1;CONTARA(A:A)-1;0)


>>>  Ten en cuenta que mi separador de argumentos es el ; (punto y coma), posiblemente tu debas cambiarlo por la , (coma).


Filtro avanzado (manual): Haz clic en [A1] y: Datos > Ordenar y filtrar > Avanzadas > Filtrar la lista sin moverla a otro lugar > (Rango de la lista) $A$1:$S$11987 > (Rango de criterios) $CZ$1:$CZ$2 > Aceptar.


Nota: Para que una fecha real se muestre como September 10, debes escribir en la celda la fecha 10/09/2018 (quizás en tu equipo:  09/10/2018) y luego aplicar a la celda el formato mmmm dd.







Editado por AnSanVal - 24/Septiembre/2018 a las 19:20
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5454
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 19:29
«... Me aplica el filtro, pero no la ultima fecha me aplica un filtro con datos fechas vacías...»

Mi ejemplo lo construí sin conocer el modelo que has subido, pero te indiqué que las fechas las puse en columna B, y en tu modelo están en la columna A. Si intentas filtrar en B los datos de A... como que no va a funcionar.
Aprendemos viendo respuestas de otros, también intentando resolver dudas (intenta ayudar cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 810
Enlace directo a este mensaje Enviado: 24/Septiembre/2018 a las 19:38
Hola Antonio,

Asi es el Macro lo adapte a filtrar la columna "A"

Si lo que tengo en columna "B" son datos de pruebas que he estado realizando, pero el Macro si esta adaptado a filtrar la columna "A"



Saludos

DS
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable