Visual Basic para Aplicaciones - convertir numeros en letras excel

Life is soft - evento anual de software empresarial
 
Vista:

convertir numeros en letras excel

Publicado por fernando garcia (1 intervención) el 10/10/2007 17:33:06
Muy bunos dias, deseo obterner el programa que convierte numeros en letras para excel


agradeciendo su colaboracion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de skylug

RE:convertir numeros en letras excel

Publicado por skylug (6 intervenciones) el 20/10/2007 15:50:02
copia este codigo y pegalo en un modulo

lo guardas y cierras excel y lo vuelves abrir, sino te funciona , entonces ve a herramientas y carga el complemento, la funcion "enletras", espro haberte ayudado.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Function ENLETRAS(x)
parte1 = Int(x / 1000000)
parte2 = Int((x - parte1 * 1000000) / 1000)
parte3 = x - parte1 * 1000000 - parte2 * 1000
If parte1 = 0 Then millon = ""
If parte1 = 1 Then millon = "UN MILLÓN "
If parte1 > 1 Then millon = NOMBRE(parte1) + " MILLONES "
If (parte1 - 100 * Int(parte1 / 100) > 11) And ((parte1 - 10 * Int(parte1 / 10)) = 1) Then
    millon = Mid(NOMBRE(parte1), 1, Len(NOMBRE(parte1)) - 1) + " MILLONES "
End If
If parte2 = 0 Then millar = ""
If parte2 = 1 Then millar = " MIL "
If parte2 > 1 Then millar = NOMBRE(parte2) + " MIL "
If (parte2 - 100 * Int(parte2 / 100) > 11) And ((parte2 - 10 * Int(parte2 / 10)) = 1) Then
    millar = Mid(NOMBRE(parte2), 1, Len(NOMBRE(parte2)) - 1) + " MIL "
End If
ENLETRAS = millon + millar + NOMBRE(parte3)
If Int(x) = 0 Then ENLETRAS = "CERO"
End Function
 
Function NOMBRE(x)
uni = Array("", "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")
dec = Array("", "", "", "TREINTA", "CUARENTA", "CINCUENTA", _
       "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
cent = Array("", "CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", _
   "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
xcent = Int(x / 100)
xdec = Int(x / 10) - 10 * xcent
xuni = x - 100 * xcent - 10 * xdec
If xdec > 2 Then
    NOMBRE = dec(xdec)
    If xuni > 0 Then
        NOMBRE = NOMBRE + " Y " + uni(xuni)
    End If
Else
    NOMBRE = uni(xdec * 10 + xuni)
End If
If xcent > 0 Then NOMBRE = cent(xcent) + " " + NOMBRE
If x = 100 Then NOMBRE = "CIEN"
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por ricardo zapata (1 intervención) el 20/11/2007 12:59:21
ola como estas muy bueno tu aporte, pero la verdad me gustaría que me puedieses enviar lo que pasa que lo necesito para un archivo en el que estoy trabajando que trata de notas por ejemplo, al colocar 5,6 deviera decir "cinco coma seis" o "cinco punto seis".
si me lo puedieras enviar o explicar te lo agradecería...
trata de responeder please a este correo.
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por Fredy Alcantara (1 intervención) el 01/05/2009 16:41:10
Favor de enviar instrucciones para excel de visual basic para convertir numeros a letras. Lo necesito para emision de cheques.

Saludos

Fredy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por Leon M. Rojo (1 intervención) el 22/02/2012 23:27:10
Tengo el archivo que necesitas, pero lo que hace es convertir numeros con decimales
Lo usaba para pones calificaciones con letra, por lo que traduce por ejemplo "Seis punto cinco"
pero lo puedes morificar de forma sencilla.

Entra en mi blog y puedes bajarlo de ahi, es el tema "Calificaciones a letra"

www.enunblog.com/leonmrojo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por Beatriz Susana (1 intervención) el 16/03/2015 03:51:05
hola, intente abrir tu blog para revisar el archivo "calificaciones a letras" y no se puede; podrias enviarmelo a mi correo... es urgente.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por XDuende (1 intervención) el 07/01/2015 23:01:37
Espero que tu lengua nativa no se el español, porque no quiero ni imaginar como seran tus clases.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por Fernando Romero (1 intervención) el 15/01/2008 17:20:17
Muchas gracias.
Estaba buscando una funcion para convertir numeros en letras, y llegue aca.
Pegue la funcion en un modulo nuevo en visual basic de excel..
y me funciona.

De verdad, gracias por compartir su conocimiento con nosotros.

No soy programador, pero trabajo en excel.

De verdad, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Convertir Fecha a letras en V.B

Publicado por Jose Antonio (1 intervención) el 17/03/2008 19:11:40
necesito un codigo con urgencia para convertir Fechas en letras, esdecir: 17/03/2008 ----> Diecisiete de Marzo de Dos Mil Ocho, les agradecere bastante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Convertir Fecha a letras en V.B

Publicado por yo (1 intervención) el 19/07/2008 04:42:32
bueno te comento que eso es bastante dificilpero te sugiero una forma como para q te des una idea:
primero creas 3 valores(como para ordenarte) que serian de el dia, el mes y el año.
y suponiendo que la variable "fechaletra" es las fecha, pero en letras.
entonces empiezo x el mes x q es el mas facil;
podrias hacer 12 ifs de esta forma:
If mes = 1 then
mes = "Enero"
else......

y asi susecibamente hasta los 12 meses.

para los dias
podrias hacer asi recortas los 2 numeritos de los dias
y si por ejemplo el por ejemplo el primer numero es "1"
entonces a la vatriable dia se le agrega un "Dieci"
y haci del 1 al 9(si es cero no se agrega nada)
cuando termines con el primer numero sigues con el otro:
si es 6 por ejemplo, entonces le agregas a la variable dias "seis"
entonces si el número era el 16 te va a qeudar "Dieciseis"
asi esto y acordate de crear las exepciones q son el once, el doce, el trece , el catorce y el diez, q si es por ejemplo el 10 te va quedar "Dieci" solo.

con los años es ma so menos lo mismo tienes q probar.


y el final le pones a la variable "fechaletra"
dia & "de" & mes & "de" & año

y ahi ta. espero haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta Real :Convertir Fecha a letras en V.B

Publicado por Elio Espinoza (1 intervención) el 04/08/2010 02:45:41
a partir del codigo fuente de conversor de letras ..................
ESTO REALMENTO CONVIERTE LAS FECHAS EN LETRAS SIN DARLE VUELTAS....

1
2
3
4
5
6
7
8
9
10
11
Dim Dias As String
  Dim Meses As String
  Dim AnoS As String
 
 Dias = UCase(LetrasFecha.Numero2Letra(Left(FechaHijo.Value, 2), 0, 0, "", "", Masculino))
 
  Meses = UCase(MonthName(Mid(FechaHijo.Value, 4, 2)))
 
  AnoS = UCase(LetrasFecha.Numero2Letra(Right(FechaHijo.Value, 4), 0, 0, "", "", Masculino))
 
  FechaLetras.Caption = Dias & " DE " & Meses & " DEL " & AnoS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mas detalle

Publicado por erika juarez (1 intervención) el 08/02/2012 23:16:43
hola, no entiendo bien, podras explicar mas a detalle en donde pego esta formula, que tipo de modulo? favor de darme mas detalle .

mil gracias,,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por CATALINA (1 intervención) el 16/10/2012 15:48:22
hola: estoy haciendo un trabajo de convertir n° en letras y a pesar intentarlo todo no puedo usar el codigo enviado. me pueden ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

RE:convertir numeros en letras excel

Publicado por cecilio candido hernandez cruz (1 intervención) el 22/12/2014 18:58:11
me sirvio de mucho solo tengo la duda de porque me convierte despues de cincuenta centavos por ejemplo 125.53 (ciento veinticinco pesos cincuenta y tres centavos ) me lo convierte a ciento veintiseis pesos cerrados.
mucho le agradecere su apoyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por jorge fierro (1 intervención) el 14/03/2019 16:13:54
buenos días, andaba buscando como convertir números en letras y copie tu programa gravandolo en una macro pero al ejecutar me marca un error que dice :

error en copilacion:
se esperaba function o una variable

aceptar o ayuda.

y marca en azul

ENLETRAS = millon + millar + NOMBRE(parte3)
If Int(x) = 0 Then ENLETRAS = "CERO"
End Sub


podrias ayurame.
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por Patricio (1 intervención) el 03/04/2021 20:27:04
Hola:
necesito un modulo para convertir cifras superiores a 10 dígitos (miles de millones). Tienes algún diseño...?
Agradecido de antemano

Patricio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por (Unknown) (1 intervención) el 30/01/2009 00:55:24
Pensando en al razon por la qué querrias almacener el texto de una fecha en formato de texto, creo que no es necesario, si la quieres para poderla imprimir desde un formato y jalar el dato para simplemente que se imprima como texto, creo que lo que ocupas es simplemente dar formato de Fecha larga al campo de impresión.

En VB básicamente hay 4 formatos predefinidos para las fechas y 3 para la hora, estos son

Fecha Corta (ShortDate): 29/01/2009
Fecha General (General o sin formato definido): 29/01/2009 05:43:27 p.m.
Fecha Larga (LongDate): Jueves, 29 de Enero de 2009
Fecha Mediana (? No recuerdo): 29-Ene-2009

El unico detalle es que el idioma del texto de la fecha depende del idioma del sistema operativo en que corras la aplicación

Preguntale a San Google como hacer para aplicar los formatos, pero creeme, no es nada dificil

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:convertir numeros en letras excel

Publicado por ARNALDO (1 intervención) el 07/05/2010 21:13:13
SALUDOS:
Ingeniero le pido a ud. como puedo comvertir numeros en letras
por ejem. escribo 1,248.35 = un mil doscientos cuarenta y ocho con 35/100
lo mas importante seria un mil doscientos cuarenta y ocho.

ya sea en excel y visual studio 6.0 lo agradesco mucho anticipadamente estoy para compartir cualquier informacion que ud desea hasta pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

convertir numeros en letras excel

Publicado por seba (1 intervención) el 13/08/2011 19:14:10
Acá tienes una fórmula que convierte números a letras con decimales:

http://vba-para-excel.blogspot.com/2011/08/convertir-numeros-letras-con-decimales.html

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar