Macro para Buscar la menor fecha y la mayor fecha en una tabla

Dante Amor

Me gustaría que me puedas ayudar con una macro para realizar la siguiente tarea.

Tengo una hoja llamada "AF" y es donde quiero poner la macro. Tengo otra hoja llamada "AP" y allí hay una tabla de datos, pero en ella, lo importante es la columna "E" que es donde están registradas las fechas. Como te decía quisiera una macro que se ejecute en la hoja "AF" y vaya a buscar en la hoja "AP" en la columna "E" la fecha más antigua y la coloque en formato tipo texto DD/MM/AAAA en la celda "H2" y la fecha más reciente y la coloque en formato tipo texto DD/MM/AAAA en la celda "G2" y listo.

Tener en cuenta que en la Hoja "AP" las fechas ya están actualmente registradas en el formato tipo texto DD/MM/AAAA

2 respuestas

Respuesta
1

Este ejemplo que permite obtener el máximo y mínimo a través de worksheetfunction.

http://www.programarexcel.com/2014/07/worksheetfunction-funciones-de-excel-en.html 

Respuesta
1

H o l a:

Te anexo la macro

Sub Fechas()
'Por.Dante Amor
    Set h1 = Sheets("AF")
    Set h2 = Sheets("AP")
    h1.Range("H2") = Application.Min(h2.Range("E2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row))
    h1.Range("G2") = Application.Max(h2.Range("E2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row))
End Sub

El formato de celdas se lo puedes poner seleccionando el formato:


Ahora, si quieres que la fecha sea un texto, entonces utiliza esta macro

Sub Fechas()
'Por.Dante Amor
    Set h1 = Sheets("AF")
    Set h2 = Sheets("AP")
    f1 = Application.Min(h2.Range("E2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row))
    f2 = Application.Max(h2.Range("E2:E" & h2.Range("E" & Rows.Count).End(xlUp).Row))
    h1.Range("H2") = "'" & Format(f1, "dd/mm/yyyy")
    h1.Range("G2") = "'" & Format(f2, "dd/mm/yyyy")
End Sub

Lastimosamente no me funciono, tal vez me entendiste mal el ejemplo pero tranquilo voy a ver si me hago entender bien esta vez.

Tengo una hoja llamada "AP" en dicha hoja en la fila numero 1 tengo los títulos de encabezado de cada columna. A partir de la fila 2 tengo los datos dicha tabla. Dichos datos algunos son numéricos, otros son fechas pero sea el dato que sea, todos los convertí a texto es decir por ejemplo a pesar de ser una fecha de tipo DD/MM/AAAA si le doy click derecho a esa celda para ver el formato en que está, está como texto y no como fecha. Y así esta muy bien por que así es como la necesito. Esas fechas tipo texto están registradas en la columna "E" desde la fila 2 en adelante.

Ahora bien tengo una hoja llamada "AF" y en ella debo colocar en la celda "G2" la fecha tipo texto más reciente a hoy y en la celda "H2" la fecha tipo texto más antigua.

Un ejemplo

Digamos que en la columna "E" tenga registradas esta fechas tipo texto:

01/01/2015          23/02/2015       16/04/2015       15/06/2015      31/12/2014

Recuerda que no están en formato fecha sino en formato texto.

La macro que necesito para este ejemplo seria que en la celda "G2" me pusiera la fecha tipo texto 15/06/2015 y en la celda "H2" me pusiera la fecha tipo texto más antigua es decir 31/12/2014

Espero me halla hecho entender.

Y gracias de antemano

Estaba claro desde el principio; pero si la fecha es un texto, no se puede obtener cuál es la más antigua y cuál es la más reciente con una simple fórmula. Entiendo que necesites la fecha tipo texto, pero bien podrías tener en otra columna la fecha tipo fecha, para utilizarla en cuestiones como la que estás planteando; de esta forma, por ejemplo, en la columna F, podrías tener las fechas tipo fecha, y la macro funcionaría reemplazando la E por F.

Si tienes la fecha tipo fecha en la columna F, quizás la puedes ocupar para otras situaciones, y es más sencillo pasar una fecha a texto que un texto a fecha.

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas