Cambiar formato de fecha

27/10/2006 - 18:19 por Juanos | Informe spam
Hola a todos


Tengo el siguiente valor 2004/08/21 de una fecha almacenada en una de las
celdas de mi hoja de cálculo, pero requiero que el formato sea 21/08/2004, he
tratado de hacerlo por formato de fecha pero no he podido.
Quiero aclarar que el valor en la celda se ve 2004/08/21, pero en la barra
de formulas es '2004/08/21 puesto que viene de otra aplicación.

Qué puedo hacer para que me quede en este formato 21/08/2004

Mil gracias
Juanos

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
15/01/2007 - 22:59 | Informe spam
hola, 'anonimo/a' !

... tengo un caso paracido pero con dos formatos de fecha diferente
... 01-Apr-2003 que no puedo ordenar y 30/11/2006 que si puedo ordenar...



1) [segun parece] tu sistema usa un 'orden' de fechas de: dd/mm/aaaa
2) 'tu problema'... viene al importar datos cuya fecha [aunque con el mismo 'orden']
-> contiene el dato del mes en letra y en ingles :-((
3) prueba con la siguiente macro [de entre otras posibles alternativas] PERO ...
seleccionando primero las celdas cuyo mes viene en letra y en ingles [preferentemente]

Sub Corrige_fechas()
Application.ScreenUpdating = False
Dim Celda As Range, Mes As Byte, Meses
Meses = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
On Error Resume Next
For Each Celda In Selection
Mes = Application.Match(Mid(Celda, 4, 3), Meses, 0)
Celda = Application.Substitute(Celda, Application.Index(Meses, Mes), Mes)
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Héctor Miguel
17/01/2007 - 01:53 | Informe spam
hola, 'anonimo/a' !

... funciono! Aunque me pasa algo raro.
La nuevas fechas con formato 01-abr-03 al cambairlas con tu macro me aparecen luego como 13-04-03
la siguiente 14-04-03 y asi. Es decir aparece el nimero 1. Lo entiendes? [...]



haz una prueba modificando la parte del codigo de la propuesta que re/deposita la conversion a cada celda...
-> de: -> Celda = Application.Substitute(Celda, Application.Index(Meses, Mes), Mes)
-> a: -> Celda = CDate(Application.Substitute(Celda, Application.Index(Meses, Mes), Mes))

por que???... por lo siguiente:

'trabajar' con fechas en vba, requiere de algunos puntos 'a considerar' [como la configuracion regional, entre otros]
y [probablemente] algunas 'medidas' para prevencion/correccion de [posibles] errores en la forma de entrada del usuario [p.e.]

1) si en tu configuracion regional, el orden de 'fecha-corta' es dd-mm-aa... para VBA [que es 'US-Centric'] ES mm-dd-aa
a) VBA [siendo US-Centric) ESPERA y 'trabaja' -siempre/solo- con el formato de fechas mm-dd-yy
b) CDate(texto_fecha) utiliza el formato/orden de fechas que se tiene en la configuracion regional de windows
2) si en la configuracion regional el formato de fechas es NO-USA... hay 'conflictos' con la interpretacion EN VBA
a) un 'dato-fecha' puede ser 'introducido' en diferentes 'formatos' y Excel puede [intuitivamente] 'interpretarlo bien'
b) [aunque]... segun los 'formatos' [entrada/usuario y fechas/panel de control] pudiera tratarse de fechas... 'diferentes' [p.e.]
3) si -> por vba... 'pasas' un dato_fecha [convertido/traducido/formateado/...] como: 10/01/2006 [dd/mm/yyyy ? o... mm/dd/yyyy ?]
a) si TU 'querias' que fuera 'interpretado' como dd/mm/yyy -> dependera del formato de fecha-corta en el panel de control
b) para evitar 'ambiguedades' entre formatos [al usar la funcion 'Format'] -> especifica 3 mmm [para la seccion del mes]
-> estarias 'forzando' a una interpretacion de: 10/Ene/2006 [en lugar de Oct/01/2006 -> para vba en mm/dd/yyyy]
PERO... dicho 'formato' [dd/mmm/yyyy] es probable que DEJE de ser [intuitivamente] reconocido en sistemas mm/dd/yyyy :-((

como veras, 'trabajar' con fechas desde vba... tiene algunas 'visicitudes' y cosideraciones que se deben tener en cuenta :))
[y todavia... si llegar a las consideraciones con respecto de los nombres de los meses en ingles u otro idioma] :-((

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida