Convertir numeros a letras en excel

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Buffer 0 Filament.io 0 Flares ×

Para Convertir numeros a letras en excel, es necesario programar una macro, en muchos formatos contables, tales como facturas, cheques, recibos, etc… es necesario poner también la cantidad en letras, pero esto suele ser muy tedioso si la tarea debe hacerse muchas veces al día, así que seria interesante poder hacer esto de manera automática.

Excel es una de las herramientas de oficina más usadas en el mundo, En su mayoría se da en las oficinas administrativas tanto de grandes empresas como de pequeños negocios, en muchas ocasiones es necesario implementar plantillas que nos ayuden un sistematizar nuestras labores, muchas de estas plantillas se relacionan con cantidades monetarias que se deben especificar tanto en numero como en letra, si se le da un uso constante a esta plantilla, Puede ser frustrante para quien la maneja, al Tener que estar cambiando con la cantidad de letra ..

Ejemplos de uso :

facturación
remisiones
Pólizas cheque de
pagares
recibos de dinero .. etc

Por fortuna por excel trae la opción para programar con Visual Basic (macros en Excel)

con la siguiente macro ya no sera necesario que estés tecleando las Cantidades con letra ..

La sintaxis es muy simple ..
= Letras (A1,1) El 1 es para la Denominación en pesos,
= Letras (A1, 2) dos dolares para el es
en .. A1 ponemos la Cantidad

este código pegarlo en un módulo de Visual Basic .. presionar ALT+F11/ clic derecho en VBAProject( nombre de tu archivo actual ) insertar modulo/ pegar el código en ese modulo.

‘Funciones para convertir de números a letras
‘Llamada : Letras(Número,Formato) – Formato 1-Pesos, 2-Dólares
Function Unidades(num, UNO)
Dim U
Dim Cad

U = Array(“UN”, “DOS”, “TRES”, “CUATRO”, “CINCO”, “SEIS”, “SIETE”, “OCHO”, “NUEVE”)
Cad = “”
If num = 1 Then
If UNO = 1 Then
Cad = Cad & “UNO”
Else
Cad = Cad & “UN”
End If
Else
Cad = Cad & U(num – 1)
End If
Unidades = Cad
End Function

Function Decenas(num1, res)
Dim D1
D1 = Array(“ONCE”, “DOCE”, “TRECE”, “CATORCE”, “QUINCE”, “DIECISEIS”, “DIECISIETE”, _
“DIECIOCHO”, “DIECINUEVE”)
D2 = Array(“DIEZ”, “VEINTE”, “TREINTA”, “CUARENTA”, “CINCUENTA”, “SESENTA”, _
“SETENTA”, “OCHENTA”, “NOVENTA”)

If num1 > 10 And num1 < 20 Then
Cad1 = D1(num1 – 10 – 1)
Else
Cad1 = D2((num1 \ 10) – 1)
If (num1 \ 10) <> 2 Then
If res > 0 Then
Cad1 = Cad1 & ” Y ”
Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
End If
Else
If res = 0 Then
Cad1 = Cad1 & “E”
Else
Cad1 = Cad1 & “I”
Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
End If
End If
End If
Decenas = Cad1
End Function

Function Cientos(num2)
num3 = num2 \ 100
Select Case num3
Case 1
If num2 = 100 Then
cad2 = “CIEN ”
Else
cad2 = “CIENTO ”
End If
Case 5
cad2 = “QUINIENTOS ”
Case 7
cad2 = “SETECIENTOS ”
Case 9
cad2 = “NOVECIENTOS ”
Case Else
cad2 = Unidades(num3, 0) & “CIENTOS ”
End Select

num2 = num2 Mod 100
If num2 > 0 Then
If num2 < 10 Then
cad2 = cad2 & Unidades(num2, num2)
Else
cad2 = cad2 & Decenas(num2, num2 Mod 10)
End If
End If
Cientos = cad2
End Function

Function Miles(num4)
If (num4 >= 100) Then
cad3 = Cientos(num4)
Else
If (num4 >= 10) Then
cad3 = Decenas(num4, num4 Mod 10)
Else
cad3 = Unidades(num4, 0)
End If
End If
cad3 = cad3 & ” MIL ”
Miles = cad3
End Function

Function Millones(cant)
If cant = 1 Then
ter = ” ”
Else
ter = “ES ”
End If
If (cant >= 1000) Then
cantl = cantl & Miles(cant \ 1000)
cant = cant Mod 1000
End If
If cant > 0 Then
If cant >= 100 Then
cantl = cantl & Cientos(cant)
Else
If cant >= 10 Then
cantl = cantl & Decenas(cant, cant Mod 10)
Else
cantl = cantl & Unidades(cant, 0)
End If
End If
End If
Millones = cantl & ” MILLON” & ter
End Function
Function decimales(numero As Single) As Integer
Dim iaux As Integer
iaux = numero – Application.Round(numero, 2)
decimales = iaux
End Function

Function letras(cantm As Variant, ByVal mon As Integer) As String
Dim cants1 As String, num1 As Variant, num2 As Variant

num1 = cantm \ 1000000
num2 = cantm – (num1 * 1000000)

cents = (num2 * 100) Mod 100
If cents = 0 Then
cents1 = “00″
Else
cents1 = Format(cents)
End If
cantm = cantm – (cents / 100)
If cantm >= 1000000 Then
cantlm = Millones(cantm \ 1000000)
cantm = cantm Mod 1000000
End If
If cantm > 0 Then
If (cantm >= 1000) Then
cantlm = cantlm & Miles(cantm \ 1000)
cantm = cantm Mod 1000
End If
End If
If cantm > 0 Then
If cantm >= 100 Then
cantlm = cantlm & Cientos(cantm)
Else
If cantm >= 10 Then
cantlm = cantlm & Decenas(cantm, cantm Mod 10)
Else
cantlm = cantlm & Unidades(cantm, 1)
End If
End If
End If
If mon = 1 Then
letras = cantlm & ” PESOS ” & cents1 & “/100 M.N.”
Else
letras = cantlm & ” DOLARES ” & cents1 & “/100 U.S.D.”
End If
End Function

para usarlo en cualquier libro de tu PC, deberás poner el código en un módulo del libro PERSONALES
Para ser usado en un libro especifico deberás pegarlo en un módulo de ese libro en el Explorador de proyectos de VB.

presionando ALT + F11 se adhiera A Uno de los módulos de VB.

Descargar: Números letras en excel

formulas excel

18 pensamientos en “Convertir numeros a letras en excel”

  1. EXCELENTE APORTE PERO HAY “UN PERO” ALGO NO HICE BIEN PERO CASUALMENTE ESCRIBI 120 Y ME ESCRIBIO ASI “CIENTO VEINTEE” POR LO DEMAS TODO MUY BIEN GRACIAS POR AYUDAR A LA GENTE DESINTERESADAMENTE

  2. EXCELENTE ESTIMADO AMIGO, ME ES MUY UTIL LA FORMULA DE ESCRIBIR NUMEROS EN LETRAS…. MUCHISIMAS GRACIAS POR TU COLABORACION DESINTERESADA….. OJALA SIGAN HABIENDO PERSONAS COMO UDS…. HASTA PRONTO.. UN AMIGO: JORGE VICTOR

  3. Buenas, estaría bien el macro que convierta a euros con los respectivos centimos ya que después de varias horas lo consigo instalar, pero las macros suelen ser a pesos

  4. hola necesito ayuda para ingresar una formula en excel. Lo que requiero es cuando escriba una cantidad con numero necesito que en otro campo me lo de en letras, por ejemplo: $ 12,715.50 y me lo de con letra en un celda: doce mil setecientos cincuenta pesos 50/100 espero alguien me ayude.

    gracias.

  5. hola necesito convertir una cifra en letra pero no puedo…. tengo q poner por ejemplo 8.7 a 10 es MB 7.4 a 8.6 B y asi sucesivamente pero no puedo
    me puedes ayudar por favor?

  6. El archivo NO contiene la contraseña que pide visual basic, aún teniendo todos los macros habilitados se ven tres hojas y ninguna contiene la contraseña

  7. el codigo esta en una de las hojas del libro, para que se vean todas las hojas tienes que habilitar las macros..

    si esa formula la estas poniendo en otro libro, tienes que pegar el codigo en un modulo de vb de ese libro (alt+f11 para abrir un modulo de vb)

    para que puedas usar la macro en cualquier libro de tu pc, deberas pegar el codigo en un modulo de vb del libro de macros PERSONAL, este sale en el menu que esta a la izquierda de la ventana del editor de vb.

    saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *