Sei sulla pagina 1di 41

Cambiar Formato (Fecha) Americano a Espaol Descargar el Archivo "Todas las semanas me llega un informe con diversos datos

y en la primera columna me encuentro con fechas en formato americano y, adems, con formato de texto. Me gustara poder convertirlas a formato espaol y poder operar con ellas". Vamos a solucionar este problema con las funciones FECHA, IZQUIERDA, DERECHA y EXTRAE. Supongamos que tenemos la siguiente tabla con fechas, que adems nos llegan con formato texto, en formato americano (mes,da,ao) y queremos convertirlas en formato espaol y numrico (da,mes,ao):

Vamos a "trocear" el problema para que se entienda mejor la solucin: 1. Nos situamos en C3 y escribimos la frmula: =EXTRAE(B3;4;2) La funcin EXTRAE nos permite extraer parte de un texto desde una posicin inicial que le debemos indicar. En nuestro caso le estamos pidiendo que del texto que hay en B3 y desde la posicin inicial 4 (4 caracteres) extraiga 2 caracteres. De esta manera obtendremos los dos caracteres referente al da. 2. Nos situamos en la celda D3 y escribimos la siguiente frmula: =IZQUIERDA(B3;2) Esta funcin extrae dos caracteres de la celda B3 empezando por la izquierda. 3. Nos situamos en E3 y escribimos la frmula: =DERECHA(B3;4) Esta funcin extrae cuatro caracteres de la celda B3 empezando por la derecha.

Ya hemos conseguido separar los caracteres referentes al da, mes y ao:

Slo nos queda "reunirlos" con formato de fecha vlido para poder operar despus con ellas. Esta labor la realiza la funcin FECHA: 4. Nos situamos en la celda F3 y escribimos: =FECHA(E3;D3;C3)

Seleccionando ahora el rango C3:F3 y haciendo doble clic en la parte inferior derecha de la seleccin terminaramos nuestro trabajo:

Podemos resumir todos estos pasos en una sola frmula, a saber: =FECHA(DERECHA(B3;4);IZQUIERDA(B3;2);EXTRAE(B3;4;2))

Etiquetas: DERECHA, EXTRAE, FECHA, IZQUIERDA Publicado por Kiko Rial a las 14:15 Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook 38 comentarios:

1. karen16 agosto, 2009 20:23 excelente informacin es exactamente lo que estaba buscando!!!!!! Responder

2. Kiko Rial18 agosto, 2009 01:59 Gracias Karen. Me alegra que te haya resultado til. Responder

3. Annimo04 septiembre, 2009 03:35 Hola Kiko, yo tengo un problema un tanto similar, en una hoja se descargaron datos de un programa en el que, no s cmo; aparecen las fechas invertidas de la forma siguiente: 08/03/2009, en formato espaol, esto se leera como 8 de marzo de 2009,

cuando en realidad la fecha es 3 de agosto de 2009. Sabes cmo cambiarlo? No s sime expliqu bien. Saludos y muchas gracias. Responder

4. Kiko Rial04 septiembre, 2009 07:29 Perdn pero no entiendo bien la pregunta. Aparentemente es lo mismo que solucionamos en este artculo. La cuarta fecha de este ejemplo aparece como 07/01/2009 cuando en realidad es 01/07/2009 Responder

5. Annimo10 marzo, 2010 15:23 Hola Kiko, La frmula funcionaria siempre y cuando la fecha americana no coincida con una fecha espaola. Por ejemplo 03/01/2010 siendo la fecha americana, usando tu frmula se convierte en 20/06/2084 porque entiende que es 3 de Enero de 2010. Responder

6. cristian26 marzo, 2010 00:11 Me ha gustado mucho la informacion, antes yo usaba mucho el comando "si", y se que funciona limitadamente, y con mucha mas cosas.Pero he visto muy funcional y hasta divertida la forma tambien de conseguir las fechas de esta forma. Gracias. Cristian Responder

7. FRCO11 abril, 2010 17:23

Hola Kiko.Gracias por la informacin. Slo hay una cosa que no me resulta: tras seleccionr el rango C3:F3 hago doble clik en la parte inferior derecha pero no sucede nada. Yo utilizo excel_Office 2007. El resto de frmulas trabaja perfecto.Gracias Responder

8. cornecaminos24 junio, 2010 01:43 Hola, oye la formula funciona muy bien con formato de texto, pero el ultimo ejemplo que pones 07/01/2009, en mi sistema si es coherente, no es un formato de texto, al ocupar la tcnica no da como resultado 01/07/2009, que sugieres hacer con formatos nmericos. Responder

9. Kiko Rial30 junio, 2010 10:35 Cuando hay celdas con formato texto y otras con formato numrico te sugiero la siguiente frmula. La primera parte soluciona las celdas con formato texto y la segunda las que presentan formato numrico pero no devuelven la fecha en el formato deseado (espaol): =SI(ESERROR(MES(B4));FECHA(DERECHA(B4;4);IZQUIERDA(B4;2);EXTR AE(B4;4;2)); FECHANUMERO(MES(B4)&"/"&DIA(B4)&"/"&AO(B4))) Responder

10. Annimo06 enero, 2011 02:28 Hola Kiko,tengo un problema bastante complejo. Espero me puedas ayudar. Tengo un sistema contable que al sacar un reporte de facturacin tira la fecha con el formato d/m/aa. El problema es que al exportarlo al excel,este automaticamente cambia el formato a m/d/aa. Es decir la fecha de una factura del 1ro de junio del 2010 en el sistema es 1/6/10 pero al pasarla a excel asoma el nmero tal cual en la celda (1/6/10) pero el formato se cambia a m/d/aa. Dicho de otra forma, pasa a ser

enero 6 del 2010. No puedo usar la forma EXTRAE porque las fechas no tienen un formato de dos dgitos para cada valor. Es decir en los das y meses de un dgito solo sale 1 dgito y no 2. Ejemplo 1ro de junio de 2010 es 1/6/10 y no 01/06/10 y esto impide usar EXTRAE. Mi consulta puntual es: hay forma de decirle a excel quiero que cambies el formato de m/d/aa a d/m/aa pero no toques (des la vuelta) el numero que est en esa celda? Espero me puedas ayudar. Saludos. Pablo Responder

11. Kiko Rial08 enero, 2011 20:53 Hola Pablo. Por favor mndame una hoja a kiko.rial@ie.edu con el ejemplo de lo que te ocurre y lo que necesitas. Responder

12. ricandalus09 agosto, 2011 14:29 Yo he encontrado una manera de hacerlo. Os la comento por si os sirve: 1. cerramos excel 2. nos vamos a panel de control--> configuracin regional y elegimos Ingls de Estados Unidos. 3. abrimos excel 4. lo volvemos a cerrar. 5. volvemos a panel de control y lo ponemos a espaol. 6. excel habr convertido todo en espaol sin frmula.

Espero que os sirva de ayuda. Saludos. Responder

13. Annimo28 noviembre, 2011 22:57 Muchas gracias, fue de gran ayuda la informacion.

Responder

14. Annimo02 enero, 2012 11:46 BUENA EXPLICACION PARA CAMBIAR DE FORMATO LAS FECHAS! GRACIAS FELIZ AO!! Responder

15. Annimo26 febrero, 2012 23:58 mi hemano un millon de gracias Responder

16. Annimo27 febrero, 2012 00:50 hola bueno el aporte pero una pregunta yo tengo un formato q tambin incluye la hora (02/25/11 01:55:00 PM) pero este esta en el formato americano lo que necesito es que se vuelva al espaol(25/02/11 01:55:00 PM)..la explicacin q tu haces es muy buena pero yo necesito tambin la hora como puedo hacer??....de antemano muchas gracias Responder

17. Annimo01 marzo, 2012 08:49 Buena explicacin pero a mi no me funciono, encontr otra solucin, le cambias el formato de todas las fechas a numero sin decimales, lo guardas y despus le pones otra vez el formato de fecha. Responder

18.

Annimo11 julio, 2012 14:43 Hola kiko, mi problema es el siguiente: tengo dos columnas en excel en formato general aaaa/mm/dd pero sin los separadores es decir aaaammdd y me interesaria que me restara la fecha menor de la mayor, pero claro como va ao/mes/dia no la puedo pasar de formato general a fecha porque no lo entiende, y si resto las celdas lo nico que hace es una resta numrica pero no de fechas. Como soluciono el problema? Gracias de antemano. Pepe Responder Respuestas

1. Kiko Rial12 julio, 2012 18:10 Para que lo entienda como fecha debes escribir la siguiente frmula (estoy suponiendo que la primera fecha la tienes escrita en la celda B2): =VALOR(DERECHA(B2;2)&"/"&EXTRAE(B2;5;2)&"/"&IZQUIERDA(B 2;4)) Con esto convertirs tus valores en fechas con las que trabajar. Responder

19. Annimo03 septiembre, 2012 17:43 como copio una columna que tiene solo fechas con formato de fechas a otra columna pero que se pase con formato de texto sin alterar la fecha Responder Respuestas

1. Kiko Rial03 septiembre, 2012 18:08 Partiendo de, por ejemplo, una fecha escrita en A1 nos ponemos en B1 y escribimos la siguiente frmula:

=TEXTO(A1;"dd/mm/aaaa") Ahora copiaramos hacia abajo tantas celdas como tengamos y posteriormente procedemos a copiar y pegar valores. Responder

20. Annimo03 septiembre, 2012 21:26 Gracias por la repuesta me ha servido Responder

21. Annimo13 noviembre, 2012 01:05 Hola KIko, gracias a tus comentarios he podido solucionar la mayor parte de mi problema ya que con las fechas en las que aparecen como dd/mm/aaaa todo bien, pero las que aparecen como dd/mmm/aaaa estas en texto americano no logro convertirlas a dd/mm/aaaa en espaol, ejemplo de lo que requiero 08/May/2012 a 08/05/2012 existira alguna forma de solucionarlo? Responder Respuestas

1. Kiko Rial13 noviembre, 2012 13:16 Perdn pero no s si entiendo bien el problema. Supongo que la fecha de partida es May/08/2012 ? En este caso la frmula a aplicar sera =IZQUIERDA(B3;3) De esta manera obtendramos el mes. Si montas una tabla que sea el nombre del mes y en la siguiente columna el nmero del mes Ene;1;Feb;2... aplicando la funcin BUSCARV a dicha tabla obtendras el nmero del mes y a partir de ah ya sera el mismo caso que en este post.

2.

Annimo13 noviembre, 2012 15:40 Gracias por tu respuesta, esto funciona con los textos en espaol pero creo no haberme explicado los datos bajan como texto en ingles en el siguiente orden, 23/Aug/2012 se requiere cambiar a un formato en espaol 23/08/2012 espero exista alguna solucion. de nuevo muchas gracias.

3. Kiko Rial13 noviembre, 2012 18:33 Vamos all, a ver si es esto lo que necesitas: * En A2, y en las celdas debajo de sta, tenemos fechas en el formato que indicas. Por ejemplo: 23/aug/2012 * En el rango D2:D13 escribo una lista con el nombre de los meses en ingls (slo tres letras): Jan;Feb;Mar;Apr... *En el rango E2:E13 escribo el nmero correspondiente al mes, desde el 1 hasta el 12. En B2 escribo la siguiente frmula: =FECHA(DERECHA(A2;4);BUSCARV(EXTRAE(A2;4;3);$D$2:$E$13;2; FALSO);IZQUIERDA(A2;2)) Ya me dirs si es lo que buscabas.

4. Annimo14 noviembre, 2012 19:27 excelente! esto lo soluciona, un milln de garcias Responder

22. Montalban, L.26 noviembre, 2012 11:57 Si el mes o el da solo tienen un nmero no funciona la funcin. Por ejemplo 2/18/2013 Alguna solucin?? Responder Respuestas

1. Kiko Rial27 noviembre, 2012 09:52 Para que contemple cualquier caso, es decir, que tenga 1 2 dgitos el da puedes utilizar la siguiente frmula, suponiendo que la fecha en cuestin est en la celda A1: =IZQUIERDA(A1;HALLAR("/";A1)-1) Responder

23. Annimo04 febrero, 2013 07:26 Hola!! Se me hace muy util tus formulas, solo que tengo problemas al ejecutar la formula.. Y tengo el mismo problema de fechas pero no me sale :( podrias ayudarme por favor? Responder Respuestas

1. Kiko Rial04 febrero, 2013 11:45 Necesito que me digas qu problema te encuentras. Un saludo Responder

24. Annimo04 febrero, 2013 18:18 Claro... Problema ejemplo 02/20/2013 es mes, dia y ao. Obviamente yo la quiero da mes y ao aplico las formulas que das pero me marca error. Podrias ayudarme por favor... Saludos!! Responder

Respuestas

1. Kiko Rial04 febrero, 2013 18:32 El ejemplo que me mandas es igual al tratado en el post y, tericamente, no debera darte problemas. Necesito ver el fichero para averiguar que ocurre. Puedes mandrmelo a kiko.rial@gmail.com? Un saludo Responder

25. Annimo04 febrero, 2013 19:28 Claro.. Ya te envi el correo. Gracias por tomarte un tiempo para ayudarnos... Responder Respuestas

1. Kiko Rial04 febrero, 2013 19:43 Ya te mand la solucin. Un saludo Responder

26. Annimo04 febrero, 2013 20:12 Muchas gracias por la solucin, ya me salio... Oie tengo otra pregunta referente a fechas.. Podrias ayudarme? Responder

27.

Annimo04 febrero, 2013 20:36 Tengo un problema.. tengo que sacar la diferencia entre dos fechas con horas por ejemplo: Ejemplo 1. Primera fecha + 1Hora Segunda fecha + 2Hora 02/08/2011 18:00 pm 04/08/2011 20:00 pm de estas fechas quiero saber la diferencia tanto en dias y horas... Ejemplo 2 Primera fecha + 1Hora Segunda fecha + 2Hora 02/08/2011 18:00 pm 02/08/2011 20:00 pm En este ejemplo solo quiero conocer las horas transcurridas de ese mismo da... Ojala puedas ayudarme.. Gracias!! Responder Respuestas

1. Kiko Rial05 febrero, 2013 10:13 Te recomiendo la lectura del artculo http://www.excelavanzado.com/2012/10/sumar-horas-en-excel.html del blog Excel Avanzado. Un saludo

cambiar el orden de la fecha en excel


Estas en el tema de cambiar el orden de la fecha en excel en el foro de Ofimtica en Foros del Web. Hola, necesito ayuda urgente...les cuento: Tengo un archivo en excel el cual le ingresaron las fechas como 6/17/2007 poniendo primero el mes y luego el ... #1 (permalink) 29/01/2008, 13:07

Fecha de Ingreso: enero-2008 Mensajes: 1 zatmec Antigedad: 5 aos Puntos: 0 cambiar el orden de la fecha en excel

Hola, necesito ayuda urgente...les cuento: Tengo un archivo en excel el cual le ingresaron las fechas como 6/17/2007 poniendo primero el mes y luego el dia pero lo necesito que primero tenga el dia y luego el mes Ya intente eso de cambiarle el formato general como fecha pero no hace nada AYUDAAAA POR FAVOR!! #2 (permalink) 30/01/2008, 11:09 Fecha de Ingreso: julio-2006 Ubicacin: Madrid jchuk Mensajes: 899 Antigedad: 6 aos, 6 meses Puntos: 52 Re: cambiar el orden de la fecha en excel

Hola, No s si me he liado mucho. Con esta frmula puedes hacerlo. En ella se supone que la primera fecha est en B1, si no es as, cambia el B1 por la celda donde est tu primera fecha. Tiene una pega, solo sale bien si el da est escrito con dos cifras en la fecha original. Cdigo:

FECHA(DERECHA(B1;4);IZQUIERDA(B1;ENCONTRAR("/";B1)1);EXTRAE(B1;ENCONTRAR("/";B1)+1;2))

Espero que te sirva. Un saludo #3 (permalink) 30/01/2008, 11:28 Fecha de Ingreso: diciembre-2003 Ubicacin: Desde una destilera 3pies Mensajes: 2.597 Colaborador Antigedad: 9 aos, 2 meses Puntos: 140 Re: cambiar el orden de la fecha en excel

Amigo jchuk, no caste en la cuenta de que hay otra forma ms fcil Formato --> Celdas --> Fecha (o bien, Personalizada) --> Seleccionando el formato dd/mm/aaaa A veces buscamos lo ms difcil (y yo tambin peco de ello). Aunque si prefieres hacerlo de otra forma, te propongo esta (suponiendo que la fecha a corregir est en A1): Cdigo:
=DIA(A1)&"/"&MES(A1)&"/"&AO(A1)

Salu2 __________________ Cocina fcil, sencilla, sana y econmica Trucos y consejos de cocina #4 (permalink)

30/01/2008, 11:35 Fecha de Ingreso: julio-2006 Ubicacin: Madrid jchuk Mensajes: 899 Antigedad: 6 aos, 6 meses Puntos: 52 Re: cambiar el orden de la fecha en excel

Gracias 3pies, Sinceramente, ca en la cuenta de tus dos propuestas pero choqu con un problema al tratar de usarlas, y es que al tener en una celda la fecha del modo mm/dd/aaaa (6/17/2007) excel no lo reconoce como fecha, lo trata como un texto, por lo que no me sive cambiar el formato, ni tampoco me sirve tu segunda opcin, pues es como si aplicara las funciones DIA, MES y AO sobre un texto, no sobre una fecha, con lo que no extraen nada y devuelven erro de #Valor. Es por eso que trat de buscar otra solucin y me surgi esa otra, que desde luego, seguro que me he liado y hay otra ms fcil. Un saludo amigo #5 (permalink) 30/01/2008, 11:54 Fecha de Ingreso: diciembre-2003 Ubicacin: Desde una destilera 3pies Mensajes: 2.597 Colaborador Antigedad: 9 aos, 2 meses Puntos: 140

Re: cambiar el orden de la fecha en excel

En teora da igual que el formato de la celda sea mm/dd/aaaa, o dd/mm/aaaa, pues excel debera tratarlos en ambos casos, como si fueran una fecha, aunque es probable que excel lo trate como texto, pues yo me he encontrado con cifras que las trata como texto, a pesar de haberles dado formato de nmero desde Formato --> Celdas ---> bla, bla, bla. Esto suele suceder (o al menos a m me ha sucedido), cuando he importado datos de otras aplicaciones. Para solucionarlo, en mi caso esas cifras que tenan formato numrico, pero que las presentaba como texto, y por tanto no se poda operar con ellas (ni sumar, ni restar, ...), simplemente he hecho lo siguiente: En la celda en cuestin, pulso F2 como si fuera a editarla, y seguidamente pulso intro (saliendo de la edicin de la celda), sin hacer absolutamente nada ms. De esa forma se me ha corregido el problema. Como las celdas en cuestin son muchas, y estn de forma contnua (unas 300 filas), me he creado un macro que hace el trabajo por m. Prueba a ver si esa solucin (F2, e intro) te soluciona el problema de fechas que interpreta como texto. Salu2 __________________ Cocina fcil, sencilla, sana y econmica Trucos y consejos de cocina #6 (permalink) 30/01/2008, 12:55 Fecha de Ingreso: julio-2006 Ubicacin: Madrid jchuk Mensajes: 899 Antigedad: 6 aos, 6 meses Puntos: 52

Re: cambiar el orden de la fecha en excel

Pues la verdad..... No me lo reconoce como fecha de ninguna de las maneras. Ni reintroduciendo los datos, ni formateando la celda antes de introducirlos, ni de ningn modo. De verdad que la nica forma que he encontrado para dar solucin al problema de zatmec ha sido el que he puesto, por lo menos hasta ahora. Si ests seguro de que el formato no debe influir, quiz sea un problema de mi configuracin regional, o de la configuracin del propio excel, porque en mi equipo, ya sea importando los datos o escribindolos, las fechas del tipo mm/dd/aaaa no me las reconoce como tales. No obstante, se pone interesante esto. A ver si se te ocurre algo ms, o a algn otro, porque el tema me est gustando..... Un fuerte saludo. #7 (permalink) 06/10/2008, 11:57 Fecha de Ingreso: junio-2006 Mensajes: 4 emontess Antigedad: 6 aos, 8 meses Puntos: 0 Respuesta: Re: cambiar el orden de la fecha en excel

Cita: Iniciado por 3pies En teora da igual que el formato de la celda sea mm/dd/aaaa, o dd/mm/aaaa, pues excel debera tratarlos en ambos casos, como si fueran una fecha, aunque es probable que excel lo trate como texto, pues yo me he encontrado con cifras que las trata como texto, a pesar de haberles dado

formato de nmero desde Formato --> Celdas ---> bla, bla, bla. Esto suele suceder (o al menos a m me ha sucedido), cuando he importado datos de otras aplicaciones. Para solucionarlo, en mi caso esas cifras que tenan formato numrico, pero que las presentaba como texto, y por tanto no se poda operar con ellas (ni sumar, ni restar, ...), simplemente he hecho lo siguiente: En la celda en cuestin, pulso F2 como si fuera a editarla, y seguidamente pulso intro (saliendo de la edicin de la celda), sin hacer absolutamente nada ms. De esa forma se me ha corregido el problema. Como las celdas en cuestin son muchas, y estn de forma contnua (unas 300 filas), me he creado un macro que hace el trabajo por m. Prueba a ver si esa solucin (F2, e intro) te soluciona el problema de fechas que interpreta como texto. Salu2 Gracias 3pies, la solucin que has dado me ha servido a mi. cuando hay muchas fechas que cambira de forma masiva yo he usado buscar y sustituir. Por ejemplo sustituyo el ao 2008 con 08, y me formatea todas las fechas. Suerte a los que tengan mi mismo problema. #8 (permalink) 05/11/2008, 13:02 Fecha de Ingreso: noviembre-2008 Mensajes: 1 pabloamezquita Antigedad: 4 aos, 3 meses Puntos: 0 Respuesta: cambiar el orden de la fecha en excel

hola a todos, veo qu mnejan bastate este tema y no tengo mucho conocimiento en cdigo VBA para Excel, pero, me gustara que me indicara como hago para convertir mediante una rutina en VBA para Excel, todos los valores numricos (20080130) de una determinada columna a formato de fecha (2008/01/30) o (30-ene-2008) y que su resultado quede en la misma columna.

#9 (permalink) 06/11/2008, 04:39 Fecha de Ingreso: diciembre-2003 Ubicacin: Desde una destilera 3pies Mensajes: 2.597 Colaborador Antigedad: 9 aos, 2 meses Puntos: 140 Respuesta: cambiar el orden de la fecha en excel

Bienvenido al foro pabloamezquita. Cuando quieras preguntar algo, abre un nuevo tema, para no tener en un mismo hilo, cosas diferentes Prueba esto: Cdigo:
Sub convirtiendo_fechas() 'Nos situamos en la primera celda del rango Range("A1").Select Do While Not IsEmpty(ActiveCell) 'ponemos en la celda el dato corregido ActiveCell = Left(ActiveCell, 4) & "/" & Mid(ActiveCell, 5, 2) & "/" & Right(ActiveCell, 2) 'bajamos una fila ActiveCell.Offset(1, 0).Select Loop End Sub

Salu2 __________________ Cocina fcil, sencilla, sana y econmica Trucos y consejos de cocina #10 (permalink) 06/11/2008, 06:59

Fecha de Ingreso: marzo-2007 Ubicacin: Bs.As. mrocf Mensajes: 1.039 Antigedad: 5 aos, 10 meses Puntos: 80 Valor numrico a fecha

Hola! Pablo. Una sugerencia inicial: ante una nueva consulta (como lo es la tuya), trata de abrir un nuevo tema. Como alternativa a lo que te sugiere 3pies : a) Selecciona el rango de celdas en las que quieres provocar el efecto; b) Haz clic con el botn derecho de tu ratn en la etiqueta de la hoja (abajo a la izquierda) y selecciona "Ver cdigo"; c) En la ventana que se te abrir, copia y pega lo siguiente: Cdigo:
Sub CambiaA_FormatoFecha() With Selection .Value = Evaluate("transpose(transpose(DATE(LEFT(" & _ .Address & ", 4), MID(" & .Address & ", 5, 2), RIGHT(" & _ .Address & ", 2) )))") .NumberFormat = "dd-mmm-yyyy" End With End Sub

d) Selecciona cualquier parte del cdigo anterior y presiona una sola vez la tecla <F5> Comenta como te ha ido, si? Saludos para todos, Cacho.

ltima edicin por mrocf; 06/11/2008 a las 07:14

#11 (permalink) 14/10/2009, 21:45 Fecha de Ingreso: abril-2009 Mensajes: 3 manwann Antigedad: 3 aos, 10 meses Puntos: 0 Respuesta: cambiar el orden de la fecha en excel

Hola esta tan interesante este tema, y aunque se que esta un poco antiguo, quiere aportar :D Mi comentario es para jchuk, la formula que hizo esta bien, sin embargo en mi caso tengo muchisimos registros, algunos los toma como fecha y otros como texto, asi que cuando copio la formula en las otras celdas algunas me marca error, ya que cuando excel lo reconoce como fecha no vale dicha formula. Asi que le hice unos ajustes, espero sirva a alguien: =SI(SI.ERROR(G2+1;0)=0;FECHA(DERECHA(G2;4);IZQUIER DA(G2;ENCONTRAR("/";G2)1);EXTRAE(G2;ENCONTRAR("/";G2)+1;2));MES(G2)&"/"&DIA(G2)&"/"&AO(G2)) Ahora ya tenemos la fecha con el formato dd/mm/aaaa, sin embargo, aun falta una cosa (no se porque estoy con esta suerte), las fechas que tienen el dia con un solo digito (ej: 5/08/2009) siguen sin reconocerce como numero de serie de fecha, asi que al resultado de la formula le aplicamos la siguiente formula: =FECHA(AO(O2);MES(O2);DIA(O2)) Y ahora si me uno a su felicidad, jejeje. Aleluyaaa.

Lo mismo, cambiar G2, O2 por la celda que quieren modificar. Saludos.

pues como lo dice el titulo y adelantndoles que esto no se puede hacer con un simple clic derecho al campo y dandole formato de fecha de mxico; les paso la formula para que puedan transformar sus fechas con formato gringo como por ejemplo: 05/25/1990 a: 25/0501990. La formula que deben poner en la celda de excel donde quieren el resultado es la siguiente: =FECHA(DERECHA(C2,4),IZQUIERDA(C2,2),EXTRAE(C2,4,2)) solamente es cambiar los valores de C2 por la celda donde tienen su fecha en formato gringo.

Funcin CDate con VBA


02/06/2012 by Fernando Santos | 2 Comments Qu es la funcin CDate? Es una funcin de VBA que nos va a devolver una expresin del tipo date. Cmo usar esta funcin? La denominacin general de la funcin CDate es la siguiente: CDate(fecha) > donde fecha es una expresin de fecha vlida; es decir, debe ser aceptada por el sistema. Adems puedes poner la hora si lo deseas. Por ejemplo, una forma equivocada de usarlo es la siguiente: texto = CDate(20 de Mayo del 2012) Range(B2) = texto El sistema nos va a rechazar esta expresion y nos va a dar un error muy frecuente al usar la funcin CDate

La pregunta ahora es: Qu expresiones podemos usar en la funcin CDate? Estos son algunos ejemplos donde la funcin CDate nos va a ceptar nuestras expresiones: CDate(May 12 2012) CDate(20 May 2010) CDate(2010 06 May) El orden de estos no va afectar la expresion date que nos devuelva la funcin; eso si, hay que tomar en cuenta como est configurado nuestro sistema; porque eso determina los meses que nos acepta. En ingls nos aceptara: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec En espaol nos aceptara: Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic Usando otros ejemplos donde nos aceptar la funcin CDate. CDate(02/06/2011) CDate(10/25/91 15pm) CDate(04:25:33 am) En qu nos ayuda? A no configurar las celdas a formato fecha manualmente ya que esta funcin lo har por nosotros.

Formato de fechas en excel


Respuesta de fejoal a

villaju 25/09/2003 Usuario Hola! Espero puedas ayudarme:vers, mi programa de contabilidad permite volcar los datos a excel. Deseo hacer una tabla dinmica con ellos, y agrupar los datos por meses. El problema es que las fechas que quiero agrupar estn alineadas a la izquierda, es decir, que las entiende como texto, por lo que no puedo agruparlas. As que necesito una macro que convierta esa columna de fechas en formato fecha(alineadas a la derecha). He probado lo siguiente: Sub Formato() Selection.NumberFormat = "dd-mmm-yy" End Sub Pero no sirve, pues sigue alineando la fecha a la izquierda, espero que me puedas ayudar, y haberme expresado con claridad.

Experto Hola, Villaju! Recin vuelvo de mi fin de semana y acabo de ver tu pregunta. Estas bastante cerca de la solucin. Tal vez, slo te falte considerar que asignar un formato a una celda NO significa cambiarle el contenido, sino cambiar el modo en que este se presenta. En definitiva, lo que tienes en aquella celda contina siendo un texto que parece una fecha (independiente del formato que le des, insisto) Por lo tanto, necesitas una instruccin que convierta ese texto en una fecha vlida y, luego, puedes darle el formato. En tal caso, tu instruccin ser: Sub Formato() Selection.Value = CDate(Selection) Selection.NumberFormat = "dd-mmm-yy" End Sub

Prueba con esto, y cualquier duda, me consultas nuevamente. Un abrazo! Fernando Usuario La solucin propuesta no funciona por dos motivos: Las fechas siguen quedando alineadas a la izquierda, y al hacer la tabla dinmica no me deja agrupar por meses, es decir que lo sigue considerando texto. El segundo motivo es que aunque el formato es dd-mmm-yy, el ordenador lo interpreta (por alguna extraa razn que desconozco) como si fuera mm-dd-yy, es decir que al poner 02/01/03 lo interpreta como 1 de febrero de 2003. Esta solucin ya la haba probado, pero no funciona. Agradezco tu inters y de veras espero que me puedas ayudar. Un abrazo.

Experto Buenas... Lo importante es definir si, tras haber ejecutado mi macro, en la celda obtienes una fecha real, cuestin -sta- que no me qued clara de lo que surge de tu nueva pregunta. En caso de no haber podido convertirlas, la macro se hubiera detenido indicando un error, pero no mencionaste nada de esto. Por otra parte, el hecho de que est alineada a la izquierda puede ser slo una cuestin de formato. Pero, insisto, es fundamental saber si la macro convirti el texto en fecha. (Las pruebas de escritorio que hice en mi PC, fueron positivas, convirtiendo distintos textos a fechas reales) Probablemente, el problema radique fuera de MS Excel, ms especficamente, en tu Configuracin Regional (por aquello que mencionas del orden alterado de mes-da). Para resolverlo puedes cerrar todo y cambiar tal configuracin con la tecla de "Inicio" (la del ngulo inferior izquierdo de tu pantalla). Luego sigue: "Configuracin" "Panel de control" "Configuracin Regional" Busca la solapa "Fecha" y en fecha corta coloca "dd/mm/aa" (Probablemente est invertido all).

Luego abre MS Excel, tu archivo y ejecuta la macro nuevamente. Debera obtener las fechas como corresponde. De todos modos, aunque hubiesen sido convertidas correctamente, esto no es suficiente para agrupar registros por mes. A tal fin, necesitars una columna que slo indique el mes (y, eventualmente, el ao) incluido en esa fecha. En esa columna ingresa una frmula como esta: =Fecha(ao(A4),mes(A4),1) Asumiendo que la primera fecha de tu listado estuviera en la celda A4 [Considera si sueles usar comas o punto y coma para separar argumentos de las funciones. Yo us ","] Asgnale el formato deseado (por ejemplo mmm-aa) y, luego, copia esta celda y pgala en las restantes de esta misma columna, una por cada una de las fechas a considerar. Esta frmula lleva cualquier fecha que tengas en la columna "A" al primer da del mes correspondiente. De esta manera, s te ser posible agrupar por mes (y ao) usando este campo auxiliar en la tabla dinmica. Si slo te interesa el mes (y no el ao), puedes usar, simplemente esta frmula: =MES(A4) Bueno, Villaju, prueba con estas sugerencias y luego comntame si funcion. Un abrazo! Fernando pd: Eventualmente, si no quieres ejecutar la macro de conversin de textos a fechas, puedes utilizar esta variante de la frmula para agrupar meses (supuesto que en A4 tengas una texto representando una fecha): =FECHA(AO(FECHANUMERO(A4)),MES(FECHANUMERO(A4)),1) An as, deberas hacer el cambio de la Configuracin Regional.

xitos! Usuario Muchas gracias por tu ayuda, tu respuesta como siempre clara y detallada, te ganas a pulso tus cinco estrellas

Cambiar formato mm/dd/aaaa a dd/mm/aaaa en Excel 2007 con macros


Respuesta de aprendemos a eddy12236 01/10/2012 Usuario

Hola a tod@s Ya lo he intentado con un el siguiente macro: Sub Cambiarfecha() 'para col B Range("B2").Select While ActiveCell.Value <> "" 'ajustar el formato deseado ActiveCell = CDate(Format(ActiveCell, "dd/mm/yyyy")) ActiveCell.Offset(1, 0).Select Wend End Sub pero tiene un problema y es que cuando encuentra una fecha con un numero de mes menor de 12 no cambia el formato por ejemplo la siguiente fecha 09/01/2012, el macro debera de cambiarlo a 01/09/2012 pero no lo hace entonces mi pregunta seria como puedo mejorar el macro para que lo haga o si alguien tiene un macro que si lo hace y me lo pudiera facilitar.

Gracias,

Experto

Hola eddy: Reemplaza esta lnea: ActiveCell = CDate(Format(ActiveCell, "dd/mm/yyyy")) Por esta: Selection.NumberFormat = "dd/mm/yyyy;@"

Me funciona bien en excel 2007. Saludos.daM No olvides cerrar la pregunta


Usuario

Gracias por la repuesta pero todava me sigue dando el mismo problema sera que mi macro esta mal escrito, lo deje de la siguiente forma: Sub Cambiarfecha() 'para col B Range("B2").Select While ActiveCell.Value <> "" 'ajustar el formato deseado Selection.NumberFormat = "dd/mm/yyyy;@" ActiveCell.Offset(1, 0).Select Wend End Sub sera que me puedes enviar todo el macro que estas usando. O si alguien tiene otro macro para hacer esto gracias. Saludos

Experto

Hola eddy: As tal cual tienes la macro, as me funciona. Mndame el mensaje de error. y tambin dime exactamente en qu parte de la macro se detiene. Saludos
Usuario

Hola No es que sea un error o se detenga, si no es el mismo problema del principio de que cuando encuentra una fecha con un numero de mes menor de 12 no cambia el formato por ejemplo la siguiente fecha 09/01/2012, el macro debera de cambiarlo a 01/09/2012 pero todava no lo hace. Tengo otra pregunta y es que si el formato de celda puede influir en le maco. Gracias de nuevo por responder

Experto

Hola: Si el formato de la celda es texto o nmero, si influye, pero si tu formato es fecha, no debes tener problema para cambiarlo a otro formato de fecha. Saludos

Traducir una frmula completa de ingls a espaol


Se encuentra usted aqu
Inicio Escrito por Proper

Un usuario del foro de Ayuda Excel me escribi porque tena problemas para traducir la siguiente frmula del ingls al espaol.
=IF(COUNTIF($A$1:$G$15,A1)>1,TRUE,FALSE)

Los que trabajamos habitualmente con versiones de Excel en idiomas diferentes sabemos que a veces no es fcil traducir paso por paso una frmula ya que podemos cometer errores de transcripcin, que darn lugar a errores en la frmula. No obstante le traduje la frmula e ignoro si le funcion porque no me volvi a escribir. Dndole vueltas a la cabeza pens que este proceso podra hacerse de forma ms automtica y comenc a investigar. En la pgina del MVP David Mc Ritchie encontr una solucin ms que buena.
1. Abre el editor de Visual Basic (para hacerlo rpidamente pulsamos Alt + F11).

All, abrimos la ventana Inmediato (Ctrl + G o Men Ver > Ventana Inmediato). Una vez hemos hecho esto, debe aparecer una ventana como la siguiente:

1. Escribe o pega dentro del cuadro la frmula que quieras traducir de la siguiente forma:
Range("A2").Formula = "=IF(COUNTIF($A$1:$G$15,A1)>1,TRUE,FALSE)"

Sita el cursor del ratn inmediatamente detrs de las ltimas comillas escritas. Pulsa la tecla Intro. Al hacer esto, ejecutamos la lnea que acabamos de introducir e inmediatamente, en la celda A2 aparecer la frmula completa en el idioma de instalacin de Excel.

Cmo eliminar la contrasea de Proyectos VBA en Excel 2007


Por Blackdragon el 25 de Febrero de 2010 con 46,307 visitas Tecnologia y otros Otros tutoriales por Blackdragon. A muchas personas nos gusta hacer aplicaciones sencillas en Excel con la ayuda de las macros y formularios, pero si por cosas de la vida has tenido el problema de que conseguiste un archivo de Excel con Macros y deseas modificar los formularios a tu gusto, pero al intentar hacerlo entras al Editor de Visual Basic y al tratar de visualizarlos te encuentras con:

No desesperes, la solucin al alcance de tu mano y de una manera fcil y rpida. Cabe aclarar de manera inicial que se recomienda hacer una copia de seguridad del archivo por si acaso. Ahora de tener la copia del archivo, seguimos los siguientes pasos: 1. Abrimos una consola de DOS por medio del comando CMD en la opcin Ejecutar del men Inicio. 2. En la ventana que se abre tecleamos: edit /70 y presionamos Enter.

3. Se abrir la tpica ventana azul de hace aos y la cual hace referencia al editor de texto de DOS.

4. Ahora vamos al men Archivo y seleccionamos Abrir, y buscamos el archivo que queremos quitarle la contrasea de proteccin, y nos va a mostrar un montn de smbolos raros en el contenido del archivo. 5. Luego de tener el archivo abierto, buscamos la opcin Buscar en el men Buscar y en el cuadro de bsqueda escribimos: DPB.

6. Despus de haberlo encontrado, cambiamos la palabra por: DBx , quedando de la forma que muestra la imagen.

7. Ahora guardamos el archivo y cerramos la ventana de DOS. 8. Abrimos el archivo de Excel y cuando vamos a habilitar las macros nos sale el siguiente mensaje:

9. Le decimos que SI y para hacer la verificacin presionamos Alt+F11 y nos debe abrir la ventana del proyecto listo para modificar sin necesidad de pedir e ingresar contrasea alguna.

Concatenar fecha, pasar de mm/dd a dd/mm


Respuesta de luismondelo a hernangimene 27/03/2012 Usuario

'Hola necesitara si me pueden ayudar en lo siguiente, tengo la fecha en la columna "A:A" y de la siguiente forma 21.03.2012 (con puntos). Cuando aplico la macro que me reemplace el punto por la barra me lo hace, pero no me los deja todos como dd/mm/yyyy sino que, los das que son inferiores a 12 me los convierte de la siguiente forma mm/dd/yyyy, o sea, el 1er de Nov queda como 11/01/2012 como si fuera 11 de enero. Lo que hice fue utilizar la formula extraer y concatenar, pero hay algo que no me lo toma, me podran ayudar? For s = 1 To x dia = Left(Range("D12").Value, 2) mes = Mid(Range(Cells(11 + s, 13)).Value, 4, 2) ao = Right(Range(Cells(11 + s, 13)).Value, 4) Valor = CDate(dia & "/" & mes & "/" & ao) Range(Cells(11 + s, 17)) = Valor Next s

Experto

disculpa una pregunta. Si marcas la columna A, despus pulsas CONTROL B y en la pestaa reemplazar pones en buscar un punto y en reemplazar con pones la barra /. qu sucede?

Usuario

Si, eso lo hara si no tendra la macro, o sea, pongo buscar, luego reemplazar "." por "/", antes marco la columna asi no me hace toda la bsqueda. Pasa que, cuando hago lo anterior mencionado, me lo reemplaza y me deja el formato que tenia con el punto, es decir me lo deja dd/mm/yyyy. Pero cuando esto lo incorporo en la macro, no se porque, el formato dd.mm.yyyy me lo transforma en un mm/dd/yyyy. a continuacin el codigo

Range("L4:N4").Select Range(Selection, Selection.End(xlDown)).Select Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False

Experto

Se me ocurre hacer lo siguiente: Tenemos en la columna todas las fechas con puntos desder A1 hacia abajo. En B1 pon esto: =derecha(a1;4) En C1 pon esto: =extrae(a1;4;2) En D1 pon esto: =izquierda(a1;2) Ahora en E1 pon esto: =fecha(b1;c1;d1) y despus arrastra la frmula hacia abajo

ya me cuentas
Usuario

entiendo tu idea, pero pasa que lo necesito en medio de un proceso de la macro, por ello es que al principio de la pregunta lo plantee como macro.. desde ya gracias

Experto

Muy bien, pues entonces haremos lo siguiente: Suponemos que las "fechas con puntos" estn desde A1 hacia abajo. Posicinate en la celda B1 y ejecuta esta macro.

Sub fechas() Do While ActiveCell.Offset(0, -1).Value <> "" ActiveCell.Formula = "=date(" & Right(ActiveCell.Offset(0, -1), 4) & "," & Mid(ActiveCell.Offset(0, -1), 4, 2) & "," & Left(ActiveCell.Offset(0, 1), 2) & ")" ActiveCell.Offset(1, 0).Select Loop Range("b1:b" & Range("b65000").End(xlUp).Row).Copy Range("a1").PasteSpecial xlPasteValues End Sub

Quizs despus tengas que modificar el formato de la columna A para que lo muestre como fechas. y ya est.

Usuario

Buensimo, era lo que buscaba, y una consulta mas, porque se lo tengo que aplicar, cuando en una formula, por ejemplo una suma, en donde el ultimo termino lo deseo poner variable hago lo siguiente: ultfil = ActiveSheet.UsedRange.Rows.Count Range("C1").Formula = "=SUM(A2:A" & ultfil & ")" o sea, A es fijo, mientras que varia el alcance, Puede ser A12, A502, etc Pero cuando, deseo variar A, mientras que el valor lo se, o sea, B12, C12, AC12, etc Me tira un error, es correcto lo siguiente? Variable = B Range("C1").Formula = "=SUM(A2:" & variable & "12)"

Experto

Te falta ponerle comillas a la B, es decir:

Variable = "B" Range("C1").Formula = "=SUM(A2:" & variable & "12)"


Usuario

Muchisimas gracias, y p

Problemas con el formato fecha de la Funcin TEXTO()...


por Loscar 13 Ene 2009 16:27 Hola buen da tengo el siguiente problema haber quien me puede ayudar resulta que en la celda A1 tengo una fecha 29/12/2008 y en la celda A3 la siguiente formula ="DEL "&TEXTO($A$1,"DD/MM/YYYY") &" AL "&TEXTO($A$1+6,"DD/MM/YYYY") la que se muestra as: DEL 29/12/2008 AL 04/01/2009 En el Excel que esta en mi maquina no hay problema porque en formato de celda el formato de fecha me aparece dd/mm/yyyy pero en la maquina donde quiero instalar el archivo el formato esta dd/mm/aaaa por lo que me aparece DEL 29/12/YYYY AL 04/01/YYYY Me imagino porque dd aplica en ingles y espaol (Day / Dia) mm para el mes (Month / Mes) lo asimilo por el ao en ingles es (Year) y en espaol (Ao) all presumo que es el problema, pero no se como solucionarlo si alguien me puede dar alguna solucin se lo agradecera mucho sin otro particular me suscribo saludos cordiales. PD. Si le cambio el formato de la funcin TEXTO() de dd/mm/yyyy a dd/mm/aaaa me lo

acepta el problema que son varias maquinas y cada vez que se hace una actualizacin se debe cambiar el formato de la funcin. * Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa Loscar Miembro Frecuente

Registrado: 20 Ene 2006 20:45 Ubicacin: Guatemala Arriba

Re: Problemas con el formato fecha de la Funcin TEXTO()...


por zato 13 Ene 2009 16:54 Yo tengo que presentar unos informes en ingles y para que las fechas me queden en ingls debo usar la funcin texto de la siguiente manera: =TEXTO(A3;"[$-409]dddd, mmmm d, yyyy h:mm AM/PM") Se agrega el [$-409] y en cualquier computador las fechas quedan en ingles. Es decir el lunes (dddd) aparece Monday Creo que para espaol es: "[$-40A]dddd, mmmm d, yyyy h:mm AM/PM" En tu caso: ="DEL "&TEXTO($A$1,"[$-40A]dd/mm/yyyy") &" AL "&TEXTO($A$1+6,"[$40A]dd/mm/yyyy") Intenta esto y nos cuentas. Otra cosa que no si influya es yyyy en minusculas. * Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa zato Miembro Frecuente

Registrado: 25 Nov 2005 19:02 Arriba

Re: Problemas con el formato fecha de la Funcin TEXTO()...


por Loscar 13 Ene 2009 17:15

Gracias por responder tan rapido pero no me funcion, aso s con lo que me enviaste investigar ms sobre los formatos, lamentablemente en el Help no tiene mucha informacin, si me pudieras indicar donde puedo encontrar con ms profundidad de los formatos te lo agradecera mucho, ver que puedo encontrar reiterando mi agradecimiento me suscribo... saludos cordiales. * Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa Loscar Miembro Frecuente

Registrado: 20 Ene 2006 20:45 Ubicacin: Guatemala Arriba

Re: Problemas con el formato fecha de la Funcin TEXTO()...


por galileogali 13 Ene 2009 17:19 solucion cuando son pocas cadenas: ="DEL "&TEXTO($A$1;"DD/MM/"&SI(ESNUMERO(TEXTO(78;"YY")+0);"yyyy";"aaaa ")) &" AL "&TEXTO($A$1+6;"DD/MM/"&SI(ESNUMERO(TEXTO(78;"YY")+0);"yyyy";"a aaa")) si son muchas; elegir una celda cualquiera perdida en el libro y poner esta formula: SI(ESNUMERO(TEXTO(78;"YY")+0);"yyyy";"aaaa"), despues enlazar desde dicha celda todas las cadenas * Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa galileogali Moderator

Registrado: 07 Ene 2005 22:46 Ubicacin: QUIROGA (ba), ARGENTINA

Arriba

Re: Problemas con el formato fecha de la Funcin TEXTO()...


por Loscar 13 Ene 2009 18:15

Como siempre Gali con sus excelentes soluciones, me funcion a la perfeccin, estudiar tu formula, lo poco que se de anidamiento de formulas lo he aprendido en este foro, pero siempre surge algo nuevo, Gracias Gali y Zato por sus aportes... saludos.

Potrebbero piacerti anche