Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Pédrin-2 en 26 Septiembre 2013, 18:35 pm



Título: Pasar formato texto a formato fecha
Publicado por: Pédrin-2 en 26 Septiembre 2013, 18:35 pm
Hola a tod@s
Alguien sabe como pasar un formato de texto   24 Aug
a formato de fecha   24-ago
Tengo varios archivos excel y en la columna fecha me vienen los meses: en  formato de texto y formato de fecha mezclados, son los meses que las primeras letras no coinciden con los meses en español,
por ejemplo:  24 Aug  -  24-ago

Tengo varios años por archivo y tengo que ordenarlos por fecha, aqui tengo el problema, alguna ayuda por favor.
algun batch, vbs, etc,

Un saludo


Título: Re: Pasar formato texto a formato fecha
Publicado por: Eleкtro en 26 Septiembre 2013, 18:47 pm
¿y tu code? ¿Lo has intentado? (aquí no hacemos el trabajo a nadie)

VBS:
Código
  1. ENG_Months = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
  2. SPA_Months = Array("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic")
  3.  
  4. Str = "24 Aug"
  5.  
  6. Wscript.Echo Replace(Str, ENG_Months(7), SPA_Months(7))

Saludos


Título: Re: Pasar formato texto a formato fecha
Publicado por: Almapa en 26 Septiembre 2013, 18:49 pm
Pero utilizas excel?

Excel tiene la opción de Buscar cierto texto y reemplazarlo por otro que tu quieras. Es el icono de los prismáticos.


Un saludo.


Título: Re: Pasar formato texto a formato fecha
Publicado por: Pédrin-2 en 26 Septiembre 2013, 19:30 pm
Gracias por contestar.

Citar
¿y tu code? ¿Lo has intentado? (aquí no hacemos el trabajo a nadie)

Hola EleKtro H@cker, ya me das miedo   ::)
No se por donde empezar, estoy perdido, por eso he pedido ayuda.
Como ya he comentado tengo varios archivos excel en una columna FECHAS tengo (5 años), y como digo tengo formato de fecha y texto mezclado.

Muy agradecido con el codigo, pero si fueras tan amable de decirme que hago con el, donde lo tengo que poner, ya te digo estoy muy perdido.
Hasta donde llego, puedo copiar esa columna y pegarla en un txt, y a partir de aqui me pierdo.

Hola Almapa, como tu me dices, la verdad que tiene que ser bastante tedioso, buscar las celdas con formato de texto es muy facil lo que no veo tan facil es reemplazar el formato de texto por el formato de fecha, sin que se modifiquen los dias afectados.

Un saludo

 :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬ :¬¬



Título: Re: Pasar formato texto a formato fecha
Publicado por: Eleкtro en 26 Septiembre 2013, 20:00 pm
No uso Excel, pero lo que te comenta el compañero Almapa creo sería más facil para ti que codear un script y poco tedioso en el caso de que Excel disponga de una opción tipo "Reemplazar todo" para reemplazar todas las coincidencias de una sola vez.

puedo copiar esa columna y pegarla en un txt, y a partir de aqui me pierdo.

A partir de ahí necesitas usar un búcle (FOR, WHILE, etc..) o crear otro Array donde meterías el contenido de ese texto y símplemente hacerle un reemplazamiento de strings (Replace).

-> Array (http://www.w3schools.com/vbscript/func_array.asp)
-> Replace (http://www.w3schools.com/vbscript/func_replace.asp)
-> Búcles (Loops) (http://www.w3schools.com/vbscript/vbscript_looping.asp)
-> Procesar archivos de texto (http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/other/textfiles/)

(Todo lo que necesitas saber está ahí)

Arriba te puse un ejemplo, símplemente la variable "str" debería contener el texto de la columna que quieres modificar, y hacerle una docena de replaces.

Saludos!


Título: Re: Pasar formato texto a formato fecha
Publicado por: Pédrin-2 en 26 Septiembre 2013, 21:35 pm
Gracias EleKtro H@cker.

Hasta donde yo se, con buscar y remplazar no seria posible, ya que si hubiera sido asi,
hubiera copiado un formato en una celda y se lo hubiera pegado a todas las celdas la la columna FECHA.
Y esto excel no lo hace, mu raro pero no lo hace

Un saludo


Título: Re: Pasar formato texto a formato fecha
Publicado por: Almapa en 27 Septiembre 2013, 17:32 pm
No se que decirte, a mi el excel le pongo Reemplazar y, además de tener la opción de reemplazar todos, al cambiar Ago por ago él mismo se encarga de tomarlo como una fecha poniendo el guión entre el número y el mes y si entro en una celda tiene el valor de xx/xx/xxxx.

De todos modos, si tienes intención de programar un script y tienes dudas pregunta.

Un saludo


Título: Re: Pasar formato texto a formato fecha
Publicado por: Pédrin-2 en 27 Septiembre 2013, 19:11 pm
Hola Almapa.
Acabo de probar lo que me comentas.    >:D >:D
Siempre suponiendo de que esta opcion no podria ser por el metodo que me comentas, ignorancia de que tan solo con reemplazar aug por ago el solo se cambiaria el formato a fecha.
Despues de haber preguntado en otras comunidades de excel y buscar por San Google ( macros, formatos de celda ), nunca me supieron dar esta respuesta tan simple.

Un saludo

 ;-) ;-) ;-)

Gracias tambien a EleKtro H@cker por su codigo