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

Re: Macro o formula para invertir fecha

628 views
Skip to first unread message

Tux

unread,
Nov 13, 2006, 5:52:52 AM11/13/06
to
GR escribió:
> Hola a todos:
>
> Tengo un pequeño problema,importe unos datos pero la fecha me la importo con
> el formato "aa/mm/dd", lo que necesito es invertir la fecha con el siguiente
> formato "dd/mmmm/aaaa", las fechas se encuentran en la columna c5 a la
> columna c3000
>
> Les agradezco de antemano su atencion.
>
> Reciban un cordial saludo

Hola GR :-)

A ver probaremos con este codigo para la columna C , bueno para el rango
C5:C3000:

Sub Aplicar_mi_Formato()

'dd/mmmm/aaaa equivale a estilo fecha ejem: 26/octubre/2006

Range("C5:C3000").NumberFormat = "dd/mmmm/yyyy"

End Sub

Nos comentas ok? :-)


--
¡Un SAludo!:-)

www.fermu.com
www.zorval.es

GR

unread,
Nov 13, 2006, 9:51:03 AM11/13/06
to
Tux gracias por responder, pero no me funciono la macro, por que primero hay
que invertir el formato, tuve un error y les pido disculpas por que no
importe sino exporte los datos de un programa llamado NOI a excel y en la
columna C5:c3000 me quedaron las fechas pero como texto y con formato
"aa/mm/dd" y yo necesito convertir a formato fecha "dd/mmmm/aaaa".

Les agradezco de antemano sus respuesta y de nuevo disculapas por no saberme
explicar.

Saludos

Tux

unread,
Nov 13, 2006, 10:29:19 AM11/13/06
to
GR escribió:

Hola GR :-)

Bien Pues vamos a hacer lo siguiente ok? :-)

Nuevo código, Primero inserte una fila al lado de la columna C osea
Inserte una Columna D y haga correr este codigo:

Sub Una_Prueba()

Range("D2").Select
ActiveCell.FormulaR1C1 = "=DATEVALUE(RC[-1])"
Selection.AutoFill Destination:=Range("D2:D23"), _
Type:=xlFillDefault
Range("D1:D30").NumberFormat = "dd/mmmm/yyyy"

End Sub

Nos comenta ok? :-)

Saludos
Monica

Tux

unread,
Nov 13, 2006, 10:43:12 AM11/13/06
to
Tux escribió:

Perdon :-)

Osease este:(es el mismo, pero con los rangos exactos)

Sub Una_Prueba()

Range("D5").Select


ActiveCell.FormulaR1C1 = "=DATEVALUE(RC[-1])"

Selection.AutoFill Destination:=Range("D5:D3000"), _
Type:=xlFillDefault
Range("D5:D3000").NumberFormat = "dd/mmmm/yyyy"

End Sub

Lo unico que no se que haremos con la columna C :-S

GR

unread,
Nov 13, 2006, 11:01:02 AM11/13/06
to
Hola Monica

Faltaria invertir la fecha por que por ejemplo la tengo asi:
antes de correr la macro:
01/05/20
despues de correr la macro:
01/Mayo/2020
Deberia quedar asi:
20/Mayo/2001

Agradezco infinitamente su ayuda.

Tux

unread,
Nov 13, 2006, 11:06:44 AM11/13/06
to
Tux escribió:

> Tux escribió:
>> GR escribió:
>>> Hola a todos:
>>>
>>> Tengo un pequeño problema,importe unos datos pero la fecha me la
>>> importo con el formato "aa/mm/dd", lo que necesito es invertir la
>>> fecha con el siguiente formato "dd/mmmm/aaaa", las fechas se
>>> encuentran en la columna c5 a la columna c3000
>>>
>>> Les agradezco de antemano su atencion.
>>>
>>> Reciban un cordial saludo
>>
>> Hola GR :-)
>>
>> A ver probaremos con este codigo para la columna C , bueno para el
>> rango C5:C3000:
>>
>> Sub Aplicar_mi_Formato()
>>
>> 'dd/mmmm/aaaa equivale a estilo fecha ejem: 26/octubre/2006
>>
>> Range("C5:C3000").NumberFormat = "dd/mmmm/yyyy"
>>
>> End Sub
>>
>> Nos comentas ok? :-)
>>

Bien ya se que se puede hacer con la columna C eliminarla una vez que se
hace lo siguiente:

Coge la columna D y Una vez realizado lo anterior, selecciona boton
derecho copiar y boton derecho pegado especial en donde dice "Valores"
marca eso y aceptar. Ya puede eliminar la columna "C"

Bien tambien tiene la opcio desde el menú DAtos > Texto en columna,
Selecciona el rango y siga el asistente Que será mas rapido que todo
este rollo que hemos hecho :-)

Saludos
Monica

Tux

unread,
Nov 13, 2006, 11:15:06 AM11/13/06
to
GR escribió:

Vale GR! Gracias, ahora en cuanto venga de hacer unas cosas e intenrare
hacerlo todo con una macro a ver si asi podemos dejarlo bien lipmio todo
y acorde a sus necesidades ok? :-)

GR

unread,
Nov 13, 2006, 11:21:01 AM11/13/06
to
Hola Monica, no entendi tu respuesta, la macro esta bien solo nos falta
invertir la fecha.
antes correr la macro

01/05/20
despues de correr la macro:
01/Mayo/2020
Solo faltaria corregir la macro para invertir la fecha y quedar así:
20/Mayo/2001

Aqui esta macro:
Sub Una_Prueba()

Range("D5").Select
ActiveCell.FormulaR1C1 = "=DATEVALUE(RC[-1])"
Selection.AutoFill Destination:=Range("D5:D3000"), _
Type:=xlFillDefault

Range("D5:D3000").NumberFormat = "dd/mmmm/yyyy"

End Sub


Les agradezco sus respuestas

Saludos

Tux

unread,
Nov 13, 2006, 12:17:47 PM11/13/06
to
GR escribió:

Hola ya toy aqui :-)

Vale pruebe con este codigo a ver si ahora si creo que si tenemos esa
inversion de fechas :-), esta hecha para la hoja 1 :

Sub Macro1()

With Hoja1

Range("C5:C3000").TextToColumns _
Destination:=Range("C5:C3000"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
Tab:=True, FieldInfo:=Array(1, 5), _
TrailingMinusNumbers:=True


Range("C5:C3000").NumberFormat = "dd/mmmm/yyyy"

Range("C5").Select

End With


End Sub

Este codigo hace la inversion de fechas y lo deja asi por ejem:
20/Mayo/2001 en lugar de 01/mayo/2020 osease pruebe a ver si ahora si ;-)

GR

unread,
Nov 13, 2006, 1:27:01 PM11/13/06
to
Monica:

Ya quedo resuelto mi problema, gracias a la ultima macro que me pasastes, te
gradezco infinitamente.

Que tengas un buen dias

Saludos.

KL

unread,
Nov 14, 2006, 7:20:53 AM11/14/06
to
Hola chicos,

Probad lo siguiente:

- seleccionar el rango con las fechas en formato "aammdd"
- menu 'Datos>Texto en columnas...'
- 1a pantalla: pulsar el boton 'Siguiente'
- 2a pantalla: pulsar el boton 'Siguiente'
- 3a pantalla: marcar la opcion 'Fecha' y en el desplegable elegir 'AMD'
- pulsar el boton 'Finalizar'

Lo mismo en VBA:

Sub Test()
[A1:A100].TextToColumns _
DataType:=xlDelimited, _
FieldInfo:=Array(1, 5)
End Sub

--
Saludos,
KL


"Tux" <l...@sitio.com> wrote in message news:%23qGeb7z...@TK2MSFTNGP03.phx.gbl...

0 new messages