CONVERTIR NUMEROS A LETRAS EN EXCEL

27/09/2004 - 16:47 por Alexandra Mesa | Informe spam
Me gustaría saber si alguien sabe como convertir numeros a letras en excel,
me explico que si yo digito 1 se convierta a la plabra uno. Esto si es
posible?

Gracias,

Alexandra Mesa

Preguntas similare

Leer las respuestas

#1 Lisandro
27/09/2004 - 17:49 | Informe spam
Hola Alexandra Mesa!
Me gustarà­a saber si alguien sabe como convertir numeros




a letras en excel..
..Chequea el siguiente enlace..
http://tinyurl.com/5njo9

Saludos,
Lisandro

Me gustarà­a saber si alguien sabe como convertir numeros


a letras en excel,
me explico que si yo digito 1 se convierta a la plabra


uno. Esto si es
posible?

Gracias,

Alexandra Mesa
.

Respuesta Responder a este mensaje
#2 luis mendez
27/09/2004 - 17:58 | Informe spam
Hola alexandra

En este grandioso foro, hace tiempo me enviaron un archivo
que me sirvió mucho. Asi como te lo envío, lo pones en un
modulo, es decir te metes a la opcion de macros y ahi le
das Editor de Visual Basic, creas un modulo en Insertar y
luego modulo.
Ya que hiciste eso le das guardar y cierras el editor de
visual basic y ya en la hoja de calculo en una de las
celdas pones la cantidad despues te metes al menu de
insertar y le das funcion...ahi te vas a donde dice
seleccion funcion y le das a la opcion definidas por
el usuario te debera aparecer una que dice decifrar.
ya seleccionada, te sale un cuadro y ahi le picas para
seleccion la celda que tiene la cantida y le das aceptar y
listo ya esta esa funcion.

te lo anexo y cualquier cosa, estoy a tus órdenes
Option Explicit
Global uni(16) As String
Global dece(9) As String
Global cente(9) As String
Function descifrar(NUMERO, Optional MOneda As String
= "PESOS")
Dim r1 As Currency, r2 As Currency, r3 As Currency
Dim Resp As String
Dim numeros_
numeros_ = NUMERO
' Estos arrays estan definidos como globales
uni(0) = ""
uni(1) = "UNO"
uni(2) = "DOS"
uni(3) = "TRES"
uni(4) = "CUATRO"
uni(5) = "CINCO"
uni(6) = "SEIS"
uni(7) = "SIETE"
uni(8) = "OCHO"
uni(9) = "NUEVE"
uni(10) = "DIEZ"
uni(11) = "ONCE"
uni(12) = "DOCE"
uni(13) = "TRECE"
uni(14) = "CATORCE"
uni(15) = "QUINCE"

dece(0) = "DIECI"
dece(1) = "VEINT"
dece(2) = "TREI"
dece(3) = "CUARE"
dece(4) = "CINCUE"
dece(5) = "SESE"
dece(6) = "SETE"
dece(7) = "OCHE"
dece(8) = "NOVE"

cente(0) = "CIEN"
cente(1) = "DOSCI"
cente(2) = "TRESCI"
cente(3) = "CUATROCI"
cente(4) = "QUINI"
cente(5) = "SEISCI"
cente(6) = "SETECI"
cente(7) = "OCHOCI"
cente(8) = "NOVECI"

Resp = ""

If NUMERO < 0 Then ' Si es un número negativo lo paso
NUMERO = NUMERO * -1 ' a positivo para el calculo y la
Resp = "MENOS" ' frase comienza con el "menos ..."
End If
' Parto el número en tres bloques de tres digitos
r3 = Int((NUMERO / 1000000))
r2 = Int(((NUMERO / 1000) - (r3 * 1000)))
r1 = Int((NUMERO - ((r3 * 1000000) + (r2 * 1000))))

If NUMERO < 1000000000 Then
If r3 <> 0 Then ' Proceso los millones
If r3 <> 1 Then
Resp = Resp + cifra(r3, 3)
Resp = Resp + " MILLONES "
Else
Resp = Resp + "UN MILLON "
End If
End If
If r2 <> 0 Then ' Proceso los millares
If r2 <> 1 Then
Resp = Resp + cifra(r2, 2)
Resp = Resp + " "
End If
Resp = Resp + "MIL "
End If
Resp = Resp + cifra(r1, 1) ' Proceso las centenas
Else
Resp = "¡¡¡Mas de 999.999.999 pesos!!!" ' Nos hemos
pasado ;-)
End If
Dim poputo
Dim centavos_ As String
poputo = InStr(Str(numeros_), ".")
centavos_ = IIf(poputo > 0, Mid$(Str(numeros_), poputo +
1, 2), "00")
centavos_ = IIf(Len(centavos_) < 2, centavos_ + "0",
centavos_)
Resp = "*** Son " & Resp & " " & MOneda & " con " &
centavos_ & "/100 ****"
descifrar = Resp
End Function

Function cifra(m As Currency, Nivel As Integer) As String
Dim n3 As Currency, n2 As Currency, n1 As Currency, N As
Currency
Dim Resp As String
Resp = ""
n3 = Int((m / 100))
n2 = Int((Int(m / 10) Mod 10))
n1 = Int((m Mod 10))

If n3 <> 0 Then 'Comprobamos la centena
Resp = Resp + cente(n3 - 1)
If n3 < 2 Then
If m <> 100 Then Resp = Resp + "TO "
ElseIf Nivel = 3 Then ' el nivel nos indica el sexo de
las pesetas :)
Resp = Resp + "ENTOS "
Else
Resp = Resp + "ENTOS "
End If
End If

N = ((n2 * 10) + n1)

If N <> 0 Then
If N < 16 Then ' para los inferiores a 16
Resp = Resp + uni(N) ' son las unidades a capon
Else
Resp = Resp + dece(n2 - 1)
If n2 < 3 Then 'decenas de menos de 30
If n2 > 1 Then
If n1 <> 0 Then
Resp = Resp + "I"
Else
Resp = Resp + "E"
End If
End If
Else
Resp = Resp + "NTA" ' las demás decenas acaban en
NTA :)
If n1 <> 0 Then Resp = Resp + " Y "
End If
Resp = Resp + uni(n1) ' le pongo las unidades
End If
End If
cifra = Resp
End Function




Me gustarà­a saber si alguien sabe como convertir numeros


a letras en excel,
me explico que si yo digito 1 se convierta a la plabra


uno. Esto si es
posible?

Gracias,

Alexandra Mesa
.

Respuesta Responder a este mensaje
#3 LUIS EDUARDO
27/09/2004 - 18:38 | Informe spam
Me gustarà­a saber si alguien sabe como convertir numeros


a letras en excel,
me explico que si yo digito 1 se convierta a la plabra


uno. Esto si es
posible?

Gracias,

Alexandra Mesa
.


Alexandra si es posible yo he logrado algo de esto, por
favor ponte en contacto conmigo a
Respuesta Responder a este mensaje
#4 fredy rojas
27/09/2004 - 19:45 | Informe spam
hola
este es el codigo
'copiar desde aqui

Function EnLetras(Valor) As String ' Función Principal '
If Not IsNumeric(Valor) Then
EnLetras = " ¡ La referencia no es un numero ! ":
Exit Function
End If: Dim Moneda As String, Fracs As String, Cents As
Integer

If Int(Abs(Valor)) = 1 Then Moneda = " PESO " Else
Moneda = " PESOS "
If Right(Letras(Abs(Valor)), 6) = "ILLON " Or Right
(Letras(Abs(Valor)), 8) = "ILLONES " Then Moneda = "DE
PESOS"
Cents = Application.Round(Abs(Valor) - Int(Abs(Valor)),
2) * 100

If Cents = 0 Then EnLetras = "( " & Letras(Int(Abs
(Valor))) & Moneda & Fracs & "00/100 M.N. )" Else
EnLetras = "( " & Letras(Int(Abs(Valor))) & Moneda &
Fracs & Cents & "/100 M.N. )"

End Function
Private Function Letras(Valor) As String
' Función Auxiliar [uso 'exclusivo'de la
funcion 'principal'] '
Select Case Int(Valor)
Case 0: Letras = "CERO"
Case 1: Letras = "UN"
Case 2: Letras = "DOS"
Case 3: Letras = "TRES"
Case 4: Letras = "CUATRO"
Case 5: Letras = "CINCO"
Case 6: Letras = "SEIS"
Case 7: Letras = "SIETE"
Case 8: Letras = "OCHO"
Case 9: Letras = "NUEVE"
Case 10: Letras = "DIEZ"
Case 11: Letras = "ONCE"
Case 12: Letras = "DOCE"
Case 13: Letras = "TRECE"
Case 14: Letras = "CATORCE"
Case 15: Letras = "QUINCE"
Case Is < 20: Letras = "DIECI" & Letras(Valor - 10)
Case 20: Letras = "VEINTE"
Case Is < 30: Letras = "VEINTI" & Letras(Valor - 20)
Case 30: Letras = "TREINTA"
Case 40: Letras = "CUARENTA"
Case 50: Letras = "CINCUENTA"
Case 60: Letras = "SESENTA"
Case 70: Letras = "SETENTA"
Case 80: Letras = "OCHENTA"
Case 90: Letras = "NOVENTA"
Case Is < 100: Letras = Letras(Int(Valor \ 10) * 10)
& " Y " & Letras(Valor Mod 10)
Case 100: Letras = "CIEN"
Case Is < 200: Letras = "CIENTO " & Letras(Valor -
100)
Case 200, 300, 400, 600, 800: Letras = Letras(Int
(Valor \ 100)) & "CIENTOS"
Case 500: Letras = "QUINIENTOS"
Case 700: Letras = "SETECIENTOS"
Case 900: Letras = "NOVECIENTOS"
Case Is < 1000: Letras = Letras(Int(Valor \ 100) *
100) & " " & Letras(Valor Mod 100)
Case 1000: Letras = "UN MIL"
Case Is < 2000: Letras = "UN MIL " & Letras(Valor Mod
1000)
Case Is < 1000000: Letras = Letras(Int(Valor \ 1000))
& " MIL"
If Valor Mod 1000 Then Letras = Letras & " " &
Letras(Valor Mod 1000)
Case 1000000: Letras = "UN MILLON "
Case Is < 2000000: Letras = "UN MILLON " & Letras
(Valor Mod 1000000)
Case Is < 1000000000000#: Letras = Letras(Int(Valor /
1000000)) & " MILLONES "
If (Valor - Int(Valor / 1000000) * 1000000) _
Then Letras = Letras & Letras(Valor - Int(Valor /
1000000) * 1000000)
Case 1000000000000#: Letras = "UN BILLON "
Case Is < 2000000000000#
Letras = "UN BILLON " & Letras(Valor - Int(Valor /
1000000000000#) * 1000000000000#)
Case Else: Letras = Letras(Int(Valor /
1000000000000#)) & " BILLONES "
If (Valor - Int(Valor / 1000000000000#) *
1000000000000#) Then Letras = Letras & " " & Letras
(Valor - Int(Valor / 1000000000000#) * 1000000000000#)
End Select
End Function
' hasta aqui
' para ejecutar esta funcion simplemente usas
=enletras(celda)
ej
celda c4
celda c5=enletras(c4)

cualquier duda me cuentas

saludos

fredy

Me gustarà­a saber si alguien sabe como convertir numeros


a letras en excel,
me explico que si yo digito 1 se convierta a la plabra


uno. Esto si es
posible?

Gracias,

Alexandra Mesa
.

Respuesta Responder a este mensaje
#5 luis mendez
27/09/2004 - 19:53 | Informe spam
Estimado "Luis Eduardo"

Disculpa que me meta en tu respuesta, pero una de las
intenciones del foro, es que todos tengamos acceso a la
información. Claro que puedes establecer contacto por tu
cuenta, pero rompes con las reglas establecidas en este
foro. "todos aprendemos de todos"
Saludos


Me gustarà­a saber si alguien sabe como convertir numeros


a letras en excel,
me explico que si yo digito 1 se convierta a la plabra


uno. Esto si es
posible?

Gracias,

Alexandra Mesa
.


Alexandra si es posible yo he logrado algo de esto, por
favor ponte en contacto conmigo a
.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida