Numeros a letras

14/01/2006 - 07:33 por Dick Hurricane | Informe spam
Saludos por favor donde puedo bajar la funcion para convertir numeros a
letras ya que la perdi
Otra cosa donde la puedo instalar para que quede como una funcion
predeterminada de excel para que cuando yo haga una hoja nueva nadamas
seleccione
CELDA -- INSERTAR--FUNCION--TODAS--NUMEROS A LETRA

De antemano gracias

Tengo office xp standard

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/01/2006 - 08:17 | Informe spam
hola, Dick !

... la funcion para convertir numeros a letras ya que la perdi
... donde la puedo instalar para que quede como una funcion predeterminada de excel ...



-> si solo te interesa una o dos o tres cantidades a convertir...
podrias 'echar a perder' +/- 12 0 15 celdas por conversion usando formulas y concatenando textos
o... +/- 30 o 35 'nombres definidos' [mismo procedimiento anterior]

-> si vas a necesitar un mayor numero de conversiones... probablemente sera conveniente una funcion personalizada
te paso unos apuntes al final ;)
-> para que este disponible para cualquier libro ->EN TU COMPUTADORA<-, puedes utilizar el libro de macros 'personales'
si no has 'generado' tu libro de macros 'personales'... lo puedes crear [p.e. la forma mas 'simple' es:]
'generando' una [nueva?] macro ... [menu] herramientas / macro / grabar nueva macro...
y en en las opciones de la macro -> guardar macro en: libro de macros personal <-
la aplicacion [excel] 'se encargara' de grabarlo en el directorio de inicio.
editas [o borras... o sustituyes] la macro grabada y 'pones' ahi el codigo del procedimiento [sub o funcion]
[o 'vas' agregando los que consideres 'de uso comun o frecuente]

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

podrias 'echarle un ojo' a las siguientes direcciones [funciones para 'convertir' numeros a texto]:

-> la 'mas famosa' es la de 'el Guille':
http://www.elguille.info/vb/utilida...m2Text.htm el archivo se descarga en:
http://downloads.elguille.info/Baja...m2Text.zip
-> nota: esta funcion [aunque es la mas famosa] tiene varias 'fugas/bugs/omisiones/errores/...' :-((
si te decidieras por ella... comentas? [para proporcionarte algunos 'tips'] ;)

-> una mas de las 'famosas' la encuentras en...
http://www.sistemaslym.net/vba/exce...etras.html el archivo se descarga en:
http://www.sistemaslym.net/vba/arch...letras.zip

-> o puedes probar con el algoritmo que expongo al final, publicado por Claudio Sepulveda ['bastante' tiempo ha]...
[aunque no estoy seguro de su autoria] es de los mas 'sencillos' y faciles de 'adaptar' que me ha tocado conocer por estos 'lares'
puedes 'personalizar' para [practicamente] CUALQUIER 'necesidad' en las primeras 12 lineas.
ya 'incluye' un argumento 'opcional' para la 'salida' del texto en mayusculas/minusculas/... :))
->solo monedas del 'genero' masculino<-... 'trabajar' con el genero femenino 'requiere quemar' [unas cuantas] mas neuronas :))
existen otros diversos algoritmos [desde 'sencillos' hasta 'complejos'] para otras tambien diversas 'necesidades'...
=>copialo en un modulo 'normal' y 'llama' a la funcion como a cualquier otra funcion de hoja de calculo< =>TEN CUIDADO con los 'saltos de linea' si copias/pegas el codigo desde la ventana del mensaje<
en un modulo de codigo 'normal' ==Function EnLetras(Valor, Optional ByVal Tipo As Byte = 1) As String ' Funcion Principal '
If Not IsNumeric(Valor) Then
EnLetras = "¡ La referencia no es valor o... 'excede' la precisión !!!": 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(Int(Valor))), 6) = "illón " Or Right(Letras(Abs(Int(Valor))), 8) = "illones " Then Moneda = "de" & Moneda
Cents = Application.Round(Abs(Valor) - Int(Abs(Valor)), 2) * 100
If Cents = 1 Then Fracs = " centavo" Else Fracs = " centavos"
If Cents = 0 Then Fracs = "" Else Fracs = " con " & Letras(Cents) & Fracs
EnLetras = Letras(Int(Abs(Valor))) & Moneda & Fracs
If Valor < 0 Then EnLetras = "menos " & EnLetras
If Tipo = 2 Then EnLetras = UCase(EnLetras) ' TODO EN MAYUSCULAS '
If Tipo = 3 Then EnLetras = StrConv(EnLetras, vbProperCase) ' Todo Como Nombre Propio '
If Tipo = 4 Then EnLetras = UCase(Left(EnLetras, 1)) & Mid(EnLetras, 2) ' Primer letra en mayuscula SOLAMENTE '
EnLetras = "(" & EnLetras & ")"
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 = "mil"
Case Is < 2000: Letras = "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 millón "
Case Is < 2000000: Letras = "un millón " & 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 billón "
Case Is < 2000000000000#
Letras = "un billón " & 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
Respuesta Responder a este mensaje
#2 Dick Hurricane
16/01/2006 - 20:13 | Informe spam
Perdon no me explique bien

lo que necesito es para una factura quiero que el resultado que esta en
numero en otra celda me lo de en letras ej.

En la celda E20 esta $ 2,558,532.37 en la celda C24 aparesca: (SON: DOS
MILLONES QUINIENTOS CINCUENTA Y OCHO MIL QUINIENTOS TREINTA Y DOS PESOS
37/100 M.N.) ya sea en mayusculas o nimusculas o la primera letra de cada
palabra en mayuscula


"Dick Hurricane" escribió en el mensaje
news:
Saludos por favor donde puedo bajar la funcion para convertir numeros a
letras ya que la perdi
Otra cosa donde la puedo instalar para que quede como una funcion
predeterminada de excel para que cuando yo haga una hoja nueva nadamas
seleccione
CELDA -- INSERTAR--FUNCION--TODAS--NUMEROS A LETRA

De antemano gracias

Tengo office xp standard

Respuesta Responder a este mensaje
#3 Dick Hurricane
18/01/2006 - 06:30 | Informe spam
Abrí la funcion que me facilitaron la cual tiene muchas opciones como por
ejemplo

Tipo de moneda: pesos liras quetzal etc
Fraccion: en letra o numero
Estilo: Ciento Cincuenta, ciento cincuenta, CIENTO CINCUENTA
ETC. ETC

La funcion estaba como archivo zip al descomprimirla la hace como Números a
Letras.xls la abrí como una hoja de Excel, mi pregunta es la siguiente

¿Cómo la guardo para que este en Microsoft visual Basic y que esta funcion
la pueda agregar a otros libros que yo haga?

Ejemplo
Creo una plantilla con el nombre factura en la que la celda D38 tiene $
123.56
y en la celda C 39 aparezca (SON CIENTO VEINTE Y TRES PESOS 56/100 M.N.)
HACIENDO LOS PASOS SIGUIENTES: selecciono la celda C39 voy al menú
INSERTAR--> selección FUNCIÓN--> selección Usadas recientemente y allí busco
(Num2Texto Numeroletras Letras etc.) según como se llame la funcion, que en
este caso la funcion se llama Números_Letras

DE ANTEMANO MUCHAS PERO MUCHAS GRACIAS

PD esta funcion me gusto porque tiene muchas opciones lo único que falta
seria la traducción a dólares paro eso es otra funcion lo sé

"Dick Hurricane" escribió en el mensaje
news:
Saludos por favor donde puedo bajar la funcion para convertir numeros a
letras ya que la perdi
Otra cosa donde la puedo instalar para que quede como una funcion
predeterminada de excel para que cuando yo haga una hoja nueva nadamas
seleccione
CELDA -- INSERTAR--FUNCION--TODAS--NUMEROS A LETRA

De antemano gracias

Tengo office xp standard

Respuesta Responder a este mensaje
#4 Héctor Miguel
18/01/2006 - 07:40 | Informe spam
hola, Dick !

Abrí la funcion que me facilitaron... estaba como archivo zip al descomprimirla la hace como Numeros a Letras.xls
la abri como una hoja de Excel, mi pregunta es la siguiente
Como la guardo para que este en Microsoft visual Basic y que esta funcion la pueda agregar a otros libros que yo haga?...



[crei que nunca te ibas a 'animar' a visitar/revisar los enlaces sugeridos'] :))
te paso algo de informacion con respecto al uso de procedimientos [sub o function] de uso general...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
______
para que un procedimiento [sub o funcion] este disponible para cualquier libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de macros Personal.xls, o en algun complemento [o... Add-In]
en cualquier caso [personal o add-in]... tendras que cargar con el archivo a otra/s pc/s que usen la/s macro/s
de otra manera [NO presente el archvo CON el/los procedimiento/s sub o funcion] NO seran reconocidas por excel

con relacion al libro de macros personales: ->Personal.xls<- [?]
1.- su objetivo es que todos sus procedimientos esten disponibles para todos los libros [durante la sesion]
[a menos que los declares como Private o en el modulo que los contiene pongas la declaracion Option Private Module]
2.- requisito INDISPENSABLE es que LA VENTANA del archivo este oculta
=> NO confundir con el atributo oculto de un archivo en el sistema operativo <3.- [posiblemente] perderas la presentacion de un libro en blanco al arrancar [solamente] excel
4.- si lo tienes que trasladar/copiar A OTRAS pcs... PREGUNTA PRIMERO si el usuario de la pc usa su personal.xls

si no has generado tu libro de macros personales... lo puedes crear [p.e. la forma mas simple es:]
generando una [nueva?] macro ... => herramientas -> macro -> grabar nueva macro... <y en en las opciones de la macro => Guardar macro en: Libro de macros personal <la aplicacion [excel] se encargara de grabarlo en el directorio de inicio.
editas [o borras... o sustituyes] la macro grabada y pones ahi el codigo del procedimiento [sub o funcion]
[o vas agregando los que consideres de uso comun o frecuente]
Respuesta Responder a este mensaje
#5 Dick Hurricane
25/01/2006 - 01:41 | Informe spam
Saludos!!!

DISCULPA MI IGNORANCIA:-(

"Héctor Miguel"

No entendí nada de nada segun yo segui paso a paso y no no pude

escribió en el mensaje
news:u27fNo$
hola, Dick !

Abrí la funcion que me facilitaron... estaba como archivo zip al
descomprimirla la hace como Numeros a Letras.xls
la abri como una hoja de Excel, mi pregunta es la siguiente
Como la guardo para que este en Microsoft visual Basic y que esta funcion
la pueda agregar a otros libros que yo haga?...



[crei que nunca te ibas a 'animar' a visitar/revisar los enlaces
sugeridos'] :))
te paso algo de informacion con respecto al uso de procedimientos [sub o
function] de uso general...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
______
para que un procedimiento [sub o funcion] este disponible para cualquier
libro [sin tener que copiarla a cada libro]
es necesario que el codigo este en el libro de macros Personal.xls, o en
algun complemento [o... Add-In]
en cualquier caso [personal o add-in]... tendras que cargar con el archivo
a otra/s pc/s que usen la/s macro/s
de otra manera [NO presente el archvo CON el/los procedimiento/s sub o
funcion] NO seran reconocidas por excel

con relacion al libro de macros personales: ->Personal.xls<- [?]
1.- su objetivo es que todos sus procedimientos esten disponibles para
todos los libros [durante la sesion]
[a menos que los declares como Private o en el modulo que los contiene
pongas la declaracion Option Private Module]
2.- requisito INDISPENSABLE es que LA VENTANA del archivo este oculta
=> NO confundir con el atributo oculto de un archivo en el sistema
operativo <> 3.- [posiblemente] perderas la presentacion de un libro en blanco al
arrancar [solamente] excel
4.- si lo tienes que trasladar/copiar A OTRAS pcs... PREGUNTA PRIMERO si
el usuario de la pc usa su personal.xls

si no has generado tu libro de macros personales... lo puedes crear [p.e.
la forma mas simple es:]
generando una [nueva?] macro ... => herramientas -> macro -> grabar nueva
macro... <> y en en las opciones de la macro => Guardar macro en: Libro de macros
personal <> la aplicacion [excel] se encargara de grabarlo en el directorio de inicio.
editas [o borras... o sustituyes] la macro grabada y pones ahi el codigo
del procedimiento [sub o funcion]
[o vas agregando los que consideres de uso comun o frecuente]

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida