Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

¿Como hago para cambiar el formato de fecha en macros?

3,461 views
Skip to first unread message

Alejandro Garcia Garay

unread,
Oct 2, 2013, 12:54:23 PM10/2/13
to
Hola a todos.

tengo un archivo exportado de una aplicación el detalle es que la fecha me la genera en formato de año con dos digitos (dd/mm/aa), me toca hacer manualmente el cambio del tipo de formato a 4 digitos el año (dd/mm/aaaa), ¿Como son los instrucciones para incluirla en una macro que tengo y que me alista el archivo para trabajar?.

Agradezco sus comentarios.


Emilio

unread,
Oct 2, 2013, 1:04:08 PM10/2/13
to
-------------------------------------------------------------------------------
¡Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvió o no la respuesta dada. Muchas gracias
-------------------------------------------------------------------------------
Hola!
el mejor método es utilizar la grabadora de macros para "aprender" como
hacerlo.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

Alejandro Garcia Garay

unread,
Oct 2, 2013, 4:05:19 PM10/2/13
to
Amigo Emilio, gracias por tu respuesta, sin embargo, te comento que eso fue exactamente lo primero que hice, pero al final la macro no realizo el cambio como tal del formato de la fechas.

Luego, hice solamente el dicho cambio en una macro para ver si me hizo falta algo, pero aún así, nada, no dio el resultado deseado.

A raíz de esto fue que coloque en el foro la inquietud.

Voy a transcribir el pedazo en donde se supone que realiza el cambio:

' Cambio el largo de las fechas aquí
Range("C2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "m/d/yyyy"
Selection.NumberFormat = "dd/mm/yyyy;@"
'

Explico, en las columnas C y D se encuentran los datos de las fechas que le programa me exporta a Excel (el programa esta hecho en Java 7, si no estoy mal). Yo tomo seleccionada el rango C2 Y D2 hasta la ultima fila que contenga datos, luego se debe realizar el cambio.

El cambio manual lo hago: dando clic derecho y en el menú contextual que aparece, escojo la opción: Convertir XX a XXXX para realizar el cambio de formato de fecha de 2 dígitos en el año a 4 dígitos en el año.

Emilio

unread,
Oct 3, 2013, 12:05:18 PM10/3/13
to
-------------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje
y dinos si te sirvi� o no la respuesta dada. Muchas gracias
-------------------------------------------------------------------------------
Hola!

no entiendo porque aplicas dos veces formato, es probable que eso de cambiar
el orden m/d y dd/mm deje tarumba a Excel.

Juan Español

unread,
Oct 4, 2013, 7:09:35 AM10/4/13
to
Hola Alejandro :
El código que utilizas está bien.
No nos dices que es lo que sucede cuando lo utilizas.
El repetir la instrucción Selection.NumberFormat, como dice Emilio, no tiene
sentido, pero no debería darte problema.
Una posible causa (si con el código "te mueves" por varias hojas, puede ser
el que cuando se ejecuta la instrucción, la hoja activa no es la que
contiene
el rango a tratar.
Saludos.-


"Alejandro Garcia Garay" <bitnet...@gmail.com> escribió en el mensaje de
noticias news:6bcbaa88-ae38-40a9...@googlegroups.com...

Alejandro Garcia Garay

unread,
Oct 4, 2013, 10:53:06 AM10/4/13
to
Hola y saludos a todos. Les comento:

1. El problema de mi codigo es que realmente no me hace nada, la fecha sigue quedando igual (de este estilo: mm/dd/aa) y lo que deseo es que quede así: mm/dd/aaaa ( o puede ser dd/mm/aaaa).

2. ¿Por que lo repito?, tal vez se me quedo, pero estaba probando de diferentes formas de fecha pero ninguna me funciona.

3. He estado indagando y realice algo que para mi no es tan ortodoxo pero me ha servido hasta cierto punto.

Por motivo viaje, no había ingresado al foro.

Les dejo como lo tengo ahora y que me ha funcionado, como dije, hasta cierto punto, solo falta afinar algo para que quede como yo deseo.

Espero que lo puedan ver y opinar para mejorar el código. Este código no es mio, alguien me lo envió a mi correo.

' Cambio el largo de las fechas aqui
Range("AZ1") = 0
Range("AZ1").Copy
Range("C2:D2").Select
Range(Selection, Selection.End(xlDown)).PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
Selection.NumberFormat = "dd/mm/yyyy"
Application.CutCopyMode = False
Range("AZ1").ClearContents
'
0 new messages