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

02/10/2013 - 18:54 por Alejandro Garcia Garay | Informe spam
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.

Preguntas similare

Leer las respuestas

#1 Emilio
02/10/2013 - 19:04 | Informe spam
-
¡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
Respuesta Responder a este mensaje
#2 Alejandro Garcia Garay
02/10/2013 - 22:05 | Informe spam
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.



El miércoles, 2 de octubre de 2013 11:54:23 UTC-5, Alejandro Garcia Garay escribió:
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.
Respuesta Responder a este mensaje
#3 Emilio
03/10/2013 - 18:05 | Informe spam
-
¡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.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
Respuesta Responder a este mensaje
#4 Juan Español
04/10/2013 - 13:09 | Informe spam
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" escribió en el mensaje de
noticias news:
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.



El miércoles, 2 de octubre de 2013 11:54:23 UTC-5, Alejandro Garcia Garay
escribió:
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.
Respuesta Responder a este mensaje
#5 Alejandro Garcia Garay
04/10/2013 - 16:53 | Informe spam
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
'
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida