Fórmula o función para pasar una fecha a texto

Me pueden decir si hay una fórmula o función para convertir un fecha a texto, por ejemplo tengo la fecha 10/03/2015 y necesito Diez de Marzo de Dos Mil Quince, ¿se puede?

1 respuesta

Respuesta
1

Escribe la siguiente función en una celda, cambia B5 por la celda que tiene la fecha.

=fechaletra(B5)

Esta es la función:

Function fechaletra(fec As Date) As String
'Por.Dante Amor
    dia = num(Day(fec))
    mes = nombremes(Month(fec))
    ano = num(Year(fec))
    fechaletra = dia & " de " & mes & " de " & ano
End Function
'
Function num(fec As Long) As String
    'Por.Dante Amor
Unidades = Array("", "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis", "Siete", "Ocho", "Nueve", "Diez", "Once", "Doce", "Trece", "Catorce", "Quince", "Dieciséis", "Diecisiete", "Dieciocho", "Diecinueve", "Veinte", "Veintiuno", "Veintidos", "Veintitres", "Veinticuatro", "Veinticinco", "Veintiseis", "Veintisiete", "Veintiocho", "Veintinueve")
Decenas = Array("", "Diez", "Veinte", "Treinta", "Cuarenta", "Cincuenta", "Sesenta", "Setenta", "Ochenta", "Noventa", "Cien")
Centenas = Array("", "Ciento", "Doscientos", "Trescientos", "Cuatrocientos", "Quinientos", "Seiscientos", "Setecientos", "Ochocientos", "Novecientos")
'
Select Case fec
    Case 0: r = "Cero"
    Case 1 To 29: r = Unidades(fec)
    Case 30 To 100: r = Decenas(fec \ 10) + IIf(fec Mod 10 <> 0, " y " + num(fec Mod 10), "")
    Case 101 To 999: r = Centenas(fec \ 100) + IIf(fec Mod 100 <> 0, " " + num(fec Mod 100), "")
    Case 1000 To 1999: r = "Mil" + IIf(fec Mod 1000 <> 0, " " + num(fec Mod 1000), "")
    Case 2000 To 999999: r = num(fec \ 1000) + " Mil" + IIf(fec Mod 1000 <> 0, " " + num(fec Mod 1000), "")
    Case 1000000 To 1999999: r = "Un Millón" + IIf(fec Mod 1000000 <> 0, " " + num(fec Mod 1000000), "")
    Case 2000000 To 1999999999: r = num(fec \ 1000000) + " Millones" + IIf(fec Mod 1000000 <> 0, " " + num(fec Mod 1000000), "")
End Select
num = r
End Function
'
Function nombremes(n)
'Por.Dante Amor
    Meses = Array("", "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")
    nombremes = meses(n)
End Function

 Sigue las Instrucciones para una Función

  1. Abre tu libro de excel
  2. Para abrir VBa y poder pegar la función, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la función
  5. En cualquier celda utiliza la función, como cualquier otra función de excel

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas