Saltar al contenido

Ordenar por fechas


Recommended Posts

publicado

Hola.

Dispongo de una plantilla para organizar mis facturas anuales por mes y trimestre. Dicha plantilla tiene un formulario accesible desde la hoja FACTURAS, donde introduzco los datos de cada factura y cuando pulso el botón registrar, lo añade a la hoja FACTURAS ( donde tengo todas las facturas del año juntas) y a su vez envia la factura al més que le indico.

Hasta este punto todo perfecto. El problema empieza cuando, mediante código, le indico que organice las facturas que voy introducciendo por fechas de mas antigua al principio a mas actual al final, tanto en el listado general como en el listado de cada mas.

LLevo bastante tiempo rompiendome la cabeza y probando mil opciones pero no hay forma. Alguien podría echarme una mano.

Un saludo

P.D. - No soy programador

IVA 19.08.13.zip

publicado

Hola

Quisiera que se ordenaran en la Hoja FACTURAS y también en el mes que selecciono en el formulario de Facturas Nuevas.

El código esta creado pero no funciona bien no se xq.

Un saludo

publicado

hola omm821204, en tu macro, cuando ordenas tienes este codigo

With ActiveWorkbook.Worksheets("FACTURAS").Sort
.SetRange Range("B3:Q" & UltFila)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With[/CODE]

cambia:[b] .SetRange Range("B3:Q" & UltFila)[/b] por [color=#ff0000][b].SetRange Range("B2:Q" & UltFila)[/b][/color] y listo, ya lordena bien (la primera fila de datos la tomaba como encabezado), suerte

publicado

Hola.

He rectificado B3 por B2, por el tema de los encabezados, así cuenta desde la primera fecha. Pero sigue organizando mal las fechas.

Si introducimos 01.01.13 y despues 02.01.13, despues 03.01.13, despues 31.12.12, despues 29.12.12, el resultado es este:

[TABLE=width: 81]

[TR]

[TD]31/12/2012[/TD]

[/TR]

[TR]

[TD]29/12/2012[/TD]

[/TR]

[TR]

[TD]03/01/2013[/TD]

[/TR]

[TR]

[TD]02/01/2013[/TD]

[/TR]

[TR]

[TD]01/01/2013

[/TD]

[/TR]

[/TABLE]

Cuando debería ser este:

29/12/12

31/12/12

01/01/13

02/01/13

03/01/13

y así sucesivamente... ( tanto en la hoja FACTURAS como en el mes que selecciono, ya sea enero, febrero, etc.)

creo que realmente es un problema de formatos, ya que si nos fijamos casi todas las columnas me indican error de formato con la flecha verde.

La faena es que le doy vueltas y vueltas y no doy con la solución..

Un saludo.

Vuelvo a cargar el archivo

IVA 21.08.13.zip

publicado

amigo omm821204, tu problema definitivamente es por los formatos que tienes en la columna FECHA, ya que esta como texto y excel lo trata como tal y por eso no ordena correctamente, la solucion para los datos que ya tienes en la tabla es:

1.- selecciona la columna E, y en formato de celdas, colocas el formato de fecha que prefieras (esto solo no es suficiente)

2.- ahora selecciona la columna E, y en el cuadro de dialog buscar y reemplazar (control+B), en la pestaña reemplazar, en Buscar: colocas 2, y en Reemplazar con: colocas 2, y presionas el botón reemplazar todos (esto es simplemente para obligar al excel a re-insertar los datos con el formato que hemos escogido)

ya con esto estas ajustados todas tus fechas al formato de fecha, si ordenas ahora la tabla veras que si lo hace correctamente.

ahora, en tu macro tienes un problema ya que a la hora de insertar nuevos datos los estas insertando todo como texto y tendras nuevamente el mismo problema; aqui te dejo 2 posibles soluciones:

1.- Cambia esto: Hoja19.Range("E" & UltFila).Value = TextBox3 por esto otro Hoja19.Range("E" & UltFila).Value = Format(TextBox3, "dd/mm/yyyy"), donde el formato "dd/mm/yyyy" lo puedes ajustar a tus necesidades

2.- Usar el control DTPicker, en vez del cuadro de texto para el compo de FECHA, así el usuario siempre va a elegir una fecha del calendario y no la escribira, y este te regresa ya un dato con formato fecha y pudieras usar por ejempl: Hoja19.Range("E" & UltFila).Value = DTPicker1.Value

realiza los cambios y nos comenta, suerte

publicado

Hola.

Ya estoy aqui. Realice los cambios que me recomendaste bigpetroman y funciona a la perfección. Es más cambie el textbox por un dtpicker para evitar problemas. Despues de todo eso cambie el orden de descendente a ascendente y chapo.

Subo el archivo modificado por si os interesa ojearlo.

IVA 21.08.13.zip

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.