Convertir Fechas en Letras en Excel

Tengo una fecha cualquiera en una hoja de calculo de excel ejemplo: 05/01/2010 la cual quiero convertirla a texto ejemplo: cinco de enero del dos mil diez; no se si hay alguna fórmula o macro para ecxe que permita hacer tal conversión.

1 respuesta

Respuesta
1
Pulsación derecha sobre la celda -> Formato de celdas -> en la solapa 'Número' selecciona "Fecha" y busca el tipo que necesites. Confirma dándole al botón 'Aceptar' y ya debería estar solucionado.
Ya he intentado de esa manera pero la cuestión es que no me tira toda la fecha en letras solo el mes y lo que yo necesito es que sea toda la fecha en letras como lo indique anteriormente, tal vez haya alguna macro VB para excel con el cual se puede seguiré buscando...:(, de todas maneras gracias por responder...
Si los años están comprendidos entre 2001 y 2031 es posible conseguir lo que quieres sin complicar demasiado las funciones necesarias.
La siguiente función VBA devuelve la fecha expresada en letras:
Public Function FechaEnLetras(ByVal dFecha As Date) As String
    If Year(dFecha) < 2001 Or Year(dFecha) > 2031 Then
        FechaEnLetras = "El año de la fecha no está entre 2001 y 2031"
        Exit Function
    End If
    Dim vNombres() As Variant
    VNombres = Array("uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince", "dieciséis", "diecisiete", "dieciocho", "diecinueve", "veinte", "veintiuno", "veintidós", "veintitres", "veinticuatro", "veinticinco", "veintiséis", "veintisiete", "veintiocho", "veintinueve", "treinta", "treintaiuno")
    FechaEnLetras = vNombres(Day(dFecha) - 1) & " de " & Format(dFecha, "mmmm") & " de dos mil " & vNombres(Year(dFecha) - 2001)
End Function
Es posible también hacerlo sin recurrir a VBA. Por ejemplo, para devolver en letras la fecha de hoy:
=ELEGIR(DIA(HOY());"uno";"dos";"tres";"cuatro";"cinco";"seis";"siete";"ocho";"nueve";"diez";"once";"doce";"trece";"catorce";"quince";"dieciseis";"diecisiete";"dieciocho";"diecinueve";"veinte";"veintiuno";"veintidos";"veintitres";"veinticuatro";"veinticinco";"veintiseis";"veintisiete";"veintiocho";"veintinueve";"treinta";"treintaiuno")&" de "&TEXTO(HOY();"mmmm")&" de dos mil "&ELEGIR(AÑO(HOY())-1999;;"uno";"dos";"tres";"cuatro";"cinco";"seis";"siete";"ocho";"nueve";"diez";"once";"doce";"trece";"catorce";"quince";"dieciseis";"diecisiete";"dieciocho";"diecinueve";"veinte";"veintiuno";"veintidos";"veintitres";"veinticuatro";"veinticinco";"veintiseis";"veintisiete";"veintiocho";"veintinueve";"treinta";"treintaiuno")
Fórmula en la que quizás haya que sustituir los puntos y comas por comas; dependerá del separador de listas del equipo.
Hey Amigo si no fuese de mucha molestia te agradecería me mandaras un ejemplo en una hoja de Excel de como es la forma exacta de hacerlo de la segunda forma que indicas por que la verdad es que he intentado como lo has indicado y con coma y con punto y coma y no me ha funcionado, y ademas la macro no da o yo no la puedo utilizar te agradecería muchísimo tu orientación de antemano muy agradecido... Saludos.
La fórmula funciona en Excel 2010, y supongo que también en Excel 2007. En Excel 2003 y versiones anteriores no funcionará porque supera el límite de 30 argumentos que tienen esas versiones, algo inevitable puesto que hay meses que tienen 31 días.
La función VBA a mí no me da ningún problema, y no debería darlos tampoco en versiones anteriores. He subido un libro con un ejemplo a http://www.jrgc.es/ejemplos/ejemplo_20101215a.xls
:) De lujo; Gracias Bro. justo lo que necesitaba, me ahorraste la molestia de hacerlo manual, te agradezco muchísimo tu pronta respuesta y por ejemplo, Excelente página y sigue así men... Saludos y Éxitos...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas