Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

NUMLETRAS

1,834 views
Skip to first unread message

DAGOBERTO

unread,
Dec 2, 2004, 4:01:01 PM12/2/04
to
ALGUIEN QUE TENGA UN COMPLEMERO QUE CONVIERTA UNA CANTIDAD EN NUMERO A UNA
CANTIDAD EN LETRAS

Luis

unread,
Dec 2, 2004, 6:38:38 PM12/2/04
to
Menufazt tiene esta opcion:

http://www11.brinkster.com/luism0/

Luis Medina
MENUFazt - Menu Excel Multifunciones

"DAGOBERTO" <DAGO...@discussions.microsoft.com> escribió en el mensaje
news:9E1C961B-8B8D-4CA5...@microsoft.com...


> ALGUIEN QUE TENGA UN COMPLEMERO QUE CONVIERTA UNA CANTIDAD EN NUMERO A UNA
> CANTIDAD EN LETRAS


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.796 / Virus Database: 540 - Release Date: 13/11/2004


Marcos Galaviz

unread,
Dec 2, 2004, 4:29:47 PM12/2/04
to
Me pasaron esta y funciona bien:

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" & Moneda
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
If Cents >= 1 Then EnLetras = "( " & Letras(Int(Abs(Valor))) & Moneda &
Fracs & "0" & Cents & "/100 M.N. )" Else
If Cents >= 10 Then 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 función '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

"DAGOBERTO" <DAGO...@discussions.microsoft.com> escribió en el mensaje
news:9E1C961B-8B8D-4CA5...@microsoft.com...

L. A. M. arroba

unread,
Dec 3, 2004, 12:43:42 PM12/3/04
to
Un saludo Luis Caro,

Te informo que gran parte de la ayuda y las explicaciones estan en el sitio
web para cada una de las funciones de Menufazt. En especial, la utilidad de
convertir letras a numeros no requiere mayor explicacion: es un formulario
donde seleccionas la celda donde esta el numero y otra celda donde se coloca
el texto. Tambien puedes configurar el tipo de moneda y la forma de los
decimales que desees.

Desde este sitio web tambien puedes descargar una hoja que convierte numeros
a letras, sin macros y que puedes insertar en cualquier libro para
utilzarla.

Un saludo,


Luis Medina
Menufazt - Utilidades en Excel
http://www11.brinkster.com/LUISM0/


"Luis Caro" <LG...@NOSPAMEpm.net.co> escribió en el mensaje
news:erap1AV2...@TK2MSFTNGP14.phx.gbl...
> Hola Luis.Me bajé tu colaboración para la conversión,pero no la
> entiendo.Se puede clarificar un poco?
>
> --
> Cordialmente
> Luis Caro
> lg...@NOSPAMEPM.net.co
> No somos 3.Quitar NOSPAMEPM.Poner epm.y el resto
> http://usuarios.tripod.es/maderascolombianas2
> http://www.geocities.com/maderascolombianas2002
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).

Version: 6.0.802 / Virus Database: 545 - Release Date: 11/26/2004


Luis Caro

unread,
Dec 3, 2004, 10:51:59 AM12/3/04
to

Sebastian Marquez

unread,
Dec 3, 2004, 12:30:54 PM12/3/04
to
esta es la misma pero la modifique para sacarle el M.N. y para que en los
centavos te ponga por ejemplo "con 1/100"
------

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, con " Else Moneda = " PESOS,
con "


If Right(Letras(Abs(Valor)), 6) = "ILLON " Or Right(Letras(Abs(Valor)), 8)

= "ILLONES " Then Moneda = "DEPESOS"


Cents = Application.Round(Abs(Valor) - Int(Abs(Valor)), 2) * 100

If Cents = 0 Then EnLetras = "( " & Letras(Int(Abs(Valor))) & Moneda &

Fracs & "00/100 )" Else


EnLetras = "( " & Letras(Int(Abs(Valor))) & Moneda & Fracs & Cents &

/100 )"

End Function

Private Function Letras(Valor) As String

' Función Auxiliar [uso 'exclusivo'de la funcion 'principal'] '

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


"DAGOBERTO" <DAGO...@discussions.microsoft.com> escribió en el mensaje
news:9E1C961B-8B8D-4CA5...@microsoft.com...

Luis Caro

unread,
Dec 3, 2004, 2:59:30 PM12/3/04
to
Esta ultima fué la que me bajé y no sé como aplicarla en una Factura.

Luis

unread,
Dec 3, 2004, 6:15:33 PM12/3/04
to
Luis Caro, con mucho gusto te doy indicaciones:

1. Abres el libro Excel NumeroLetra1 y te ubicas en la Hoja Letra. Tambien
debes tener abierto el libro de la factura.
2. Das click derecho sobre la etiqueta de la Hoja Letra. Seleccionas Mover o
Copiar. En el nuevo dialogo que aparece en el campo "Al libro:" seleccionas
el libro de la factura y abajo marcas "Crear una copia" y das click en
Aceptar. Asi pasa una copia de la Hoja Letra al archivo de factura. Ya
puedes cerrar el libro NumeroLetra1.xls
3. Ahora en el libro factura seleccionas la Hoja Letra. En la celda A2 traes
el valor que quieres convertir en letra (ejemplo: "=Factura!b25").
4. Ahora te ubicas en la Hoja y celda donde quieres ver el valor en letras.
Desde ahi traes el texto en letras que esta en la Hoja Letra rango A10
(ejemplo: "=Letra!a10")

Asi, cada vez que modifiques el valor de la factura, te cambia el valor en
letras.

(Este proceso de traer valores tambien puedes hacerlo mediante codigo VBA)

Un saludo.


Luis Medina
MENUFazt - Menu Excel Multifunciones

http://www11.brinkster.com/luism0/


"Luis Caro" <LG...@NOSPAMEpm.net.co> escribió en el mensaje

news:#lMHpNX2...@TK2MSFTNGP15.phx.gbl...

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).

Luis Caro

unread,
Dec 4, 2004, 3:06:43 PM12/4/04
to
Perfecto Luis.Muchas Gracias.

Luis Caro

unread,
Dec 4, 2004, 3:36:16 PM12/4/04
to
Luis. Una inquietud. En qué forma puedo cambiar las Letras en Mayúsculas a:
Mayúsculas para iniciar y minúsculas para el resto?

KL at former dropspam@rathole.nul

unread,
Dec 4, 2004, 3:51:59 PM12/4/04
to
=MAYUSC(IZQUIERDA(A1,1)) & MINUSC(DERECHA(A1,LARGO(A1)-1))

asumiendo q el texto a convertir esta en la celda A1.

Saludos,
KL

"Luis Caro" <LG...@NOSPAMEpm.net.co> wrote in message
news:%23Qn7aCk...@TK2MSFTNGP11.phx.gbl...

admon...@gmail.com

unread,
Aug 20, 2019, 1:54:29 PM8/20/19
to
El jueves, 2 de diciembre de 2004, 15:01:01 (UTC-6), DAGOBERTO escribió:
> ALGUIEN QUE TENGA UN COMPLEMERO QUE CONVIERTA UNA CANTIDAD EN NUMERO A UNA
> CANTIDAD EN LETRAS

ESTA FUNCIONA EXCELENTE, NO RECUERDO DONDE LA CONSEGUÍ

var o=new Array("Diez", "Once", "Doce", "Trece", "Catorce", "Quince", "Dieciseis", "Diecisiete", "Dieciocho", "Diecinueve", "Veinte", "Veintiuno", "Veintidos", "Veintitres", "Veinticuatro", "Veinticinco", "Veintiseis", "Veintisiete", "Veintiocho", "Veintinueve");
var u=new Array("Cero", "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis", "Siete", "Ocho", "Nueve");
var d=new Array("", "", "", "Treinta", "Cuarenta", "Cincuenta", "Sesenta", "Setenta", "Ochenta", "Noventa");
var c=new Array("", "Ciento", "Doscientos", "Trescientos", "Cuatrocientos", "Quinientos", "Seiscientos", "Setecientos", "Ochocientos", "Novecientos");

function numletras(n)
{
var n=parseFloat(n).toFixed(2); /*se limita a dos decimales, no sabía que existía toFixed() :)*/
var p=n.toString().substring(n.toString().indexOf(".")+1); /*decimales*/
var m=n.toString().substring(0,n.toString().indexOf(".")); /*número sin decimales*/
var m=parseFloat(m).toString().split("").reverse(); /*tampoco que reverse() existía :D*/
var t="";

/*Se analiza cada 3 dígitos*/
for (var i=0; i<m.length; i+=3)
{
var x=t;
/*formamos un número de 2 dígitos*/
var b=m[i+1]!=undefined?parseFloat(m[i+1].toString()+m[i].toString()):parseFloat(m[i].toString());
/*analizamos el 3 dígito*/
t=m[i+2]!=undefined?(c[m[i+2]]+" "):"";
t+=b<10?u[b]:(b<30?o[b-10]:(d[m[i+1]]+(m[i]=='0'?"":(" y "+u[m[i]]))));
t=t=="Ciento Cero"?"Cien":t;
if (2<i&&i<6)
t=t=="Uno"?"Mil ":(t.replace("Uno","Un")+" Mil ");
if (5<i&&i<9)
t=t=="Uno"?"Un Millón ":(t.replace("Uno","Un")+" Millones ");
t+=x;
//t=i<3?t:(i<6?((t=="uno"?"mil ":(t+" mil "))+x):((t=="uno"?"un millón ":(t+" millones "))+x));
}

t+=" Pesos "+p+"/100 M.N";
/*correcciones*/
t=t.replace(" "," ");
t=t.replace(" Cero","");
//t=t.replace("ciento y","cien y");
//alert("Numero: "+n+"\nNº Dígitos: "+m.length+"\nDígitos: "+m+"\nDecimales: "+p+"\nt: "+t);
//document.getElementById("esc").value=t;
return t;
}

eloisa.c...@gmail.com

unread,
Apr 11, 2020, 11:33:16 PM4/11/20
to
0 new messages