Fechas formato texto

Hola! He visto tus respuestas y espero que me puedas ayudar:una aplicación me vuelca los datos a excel, y quiero hacer una tabla dinámica con ella.Una de las columnas son fechas, y quiero totalizarlas por meses. El problema es que están en formato texto. Para pasarlas a números, en otra celda pongo 1, selecciono, copio, selecciono las fechas, pegado especial, multiplicar.Y luego:formato, celda, numero, fecha. Haciéndolo así me sale bien, pero al hacerlo mediante macro, no funciona, porque entiende que los datos son "mm-dd-yy", cuando en realidad son "dd-mm-yy". He intentado cambiar el texto de la macro para darle otro formato, pero no lo consigo. No sabes el favor que me harías si pudieras ayudarme.

1 respuesta

Respuesta
Claro que te puedo ayudar, de hecho empezaste muy bien, es decir, tratar de hacerlo por tu cuenta, eso es muy bueno, por que MUCHOS que por aquí pregunta quieren -todo listo y terminado-, pero te falto un pequeño detalle, si me hubiese mostrado tu código, tu hibiese podido ayudar más rapido, tu dices...
-En otra celda pongo 1, selecciono, copio, selecciono las fechas, pegado especial, multiplicar. Y luego:formato, celda, numero, fecha-
Después dices que cuando lo hace mediante macro no funciona, pero no me queda claro si todos los pasos anteriores los haces con la macro, si es así, creo que podríamos abreviarlo, cambiando el formato directamente en la celda, dame más detalles y con gusto te ayudo.
Efectivamente, todos los pasos anteriores los hago con la macro.En el momento de grabarla lo hace correctamente, y el código es:
sub macro1()
Range("B1").FormulaR1C1 = "1"
Range("B1").Select
Selection.Copy
Range("A1:A3").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlMultiply, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Selection.NumberFormat = "dd-mm-yy"
End Sub
Aunque el formato es dd-mm-yy, cuando utilizo la macro, si pongo 02/01/03 me lo interpreta como 1 de febrero, y lógicamente, en cuanto pongo un día superior a 12, no me lo cambia.
he intentado lo siguiente:
Sub fechas()
ActiveCell.Value = Format(CDate(ActiveCell.Value), "dd-mm-yy")
End Sub
Pero tampoco sirve. Espero que se me entienda, y que puedas ayudarme.
P.D.:Alucinada me dejas con tu rapidez de respuesta
En sentido estricto, con cambiarle el formato a las celdas tiene que ser suficiente...
Option Explicit
Public Sub CambiarFormato()
Selection.NumberFormat = "dd-mmm-yy"
End Sub
Esta pequeña macro anterior, te cambia el formato de las celdas seleccionadas al formato que quieres, si no lo hace con tus datos, puede ser que la aplicación que exporta a Excel le agregue al campo algún carácter como un espacio o alguna comilla al principio de la fecha, verifícalo, si te es posible enviame una copia de tus datos, tal cual te los deja la aplicación para verificarlo, saludos...
MbsARROBAinboxPUNTOnet
Mauricio
Lo siento, pero tu respuesta no me sirve.Si tú seleccionas una celda, le das formato texto, y después introduces una fecha, te la entiende como texto, alineándola a la izquierda. Si luego das formato fecha a esa celda, no ocurre nada, pues te la sigue interpretando como texto. Y eso es exactamente lo que hace tu macro. Espero que se me entienda lo que quiero decir, gracias por tu esfuerzo
Pues a mi no me hace eso, como te decía, es probable que tu aplicación introduzca algún carácter diferente, la mejor forma de solucionarlo es que me envíes el archivo que te pedí, como te dijo a mi me funciona bien el cambio de formato.
Bueno, lo siento, pero insisto en que no sirve.Haz la prueba:da a una celda de excel formato texto, introduce una fecha, y luego introduce tu macro, observarás que la sigue considerando como texto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas