NumLetras: Función para pasar (convertir) números a letras
Te mostramos como crear tu propia función para convertir números a letras, esto puede serte de mucha utilidad si usas Excel para imprimir facturas o reportes en los que debas ingresar un numero en letras.

NOTA: Puedes saltarte todos estos pasos e ir directo a descargar la hoja de Excel con una macro para convertir los números a letras, si lo deseas. Si quieres que esta función este siempre disponible en tu Excel, puedes descargar e instalar este complemento gratis
Primero ingresa a VBA presionando las teclas Alt+F11, e inserta un Modulo (Si ya tienes un modulo no necesitas insertar uno nuevo)

Ahora selecciona tu modulo (Module1)

Y en la ventana derecha ingresa este texto:
'Funcion para pasar numeros a letras Function NumLetras(Valor As Currency, Optional MonedaSingular As String = "", Optional MonedaPlural As String = "") As String Dim lyCantidad As Currency, lyCentavos As Currency, lnDigito As Byte, lnPrimerDigito As Byte, lnSegundoDigito As Byte, lnTercerDigito As Byte, lcBloque As String, lnNumeroBloques As Byte, lnBloqueCero Dim laUnidades As Variant, laDecenas As Variant, laCentenas As Variant, I As Variant 'Si esta como Option Explicit Dim ValorEntero As Long Valor = Round(Valor, 2) lyCantidad = Int(Valor) ValorEntero = lyCantidad lyCentavos = (Valor - lyCantidad) * 100 laUnidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE", "VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE") laDecenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA") laCentenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS") lnNumeroBloques = 1 Do lnPrimerDigito = 0 lnSegundoDigito = 0 lnTercerDigito = 0 lcBloque = "" lnBloqueCero = 0 For I = 1 To 3 lnDigito = lyCantidad Mod 10 If lnDigito <> 0 Then Select Case I Case 1 lcBloque = " " & laUnidades(lnDigito - 1) lnPrimerDigito = lnDigito Case 2 If lnDigito <= 2 Then lcBloque = " " & laUnidades((lnDigito * 10) + lnPrimerDigito - 1) Else lcBloque = " " & laDecenas(lnDigito - 1) & IIf(lnPrimerDigito <> 0, " Y", Null) & lcBloque End If lnSegundoDigito = lnDigito Case 3 lcBloque = " " & IIf(lnDigito = 1 And lnPrimerDigito = 0 And lnSegundoDigito = 0, "CIEN", laCentenas(lnDigito - 1)) & lcBloque lnTercerDigito = lnDigito End Select Else lnBloqueCero = lnBloqueCero + 1 End If lyCantidad = Int(lyCantidad / 10) If lyCantidad = 0 Then Exit For End If Next I Select Case lnNumeroBloques Case 1 NumLetras = lcBloque Case 2 NumLetras = lcBloque & IIf(lnBloqueCero = 3, Null, " MIL") & NumLetras Case 3 NumLetras = lcBloque & IIf(lnPrimerDigito = 1 And lnSegundoDigito = 0 And lnTercerDigito = 0, " MILLON", " MILLONES") & NumLetras End Select lnNumeroBloques = lnNumeroBloques + 1 Loop Until lyCantidad = 0 NumLetras = NumLetras & " " & Format(Str(lyCentavos), "00") & "/100 " & IIf(ValorEntero = 1, MonedaSingular, MonedaPlural) End Function
Y guarda los cambios presionando Ctrl+S o con el boton de Guardar en la barra de herramientas.
Nota: Si tienes algún problema hasta ahora puedes consultar este articulo, que explica con mayor detalle como crear una función propia.
Como usar la función para convertir los números a letras.
Puedes usar esta función como cualquier otra ingresando =NumLetras(A7,”Dolar”,”Dolares”) en tu hoja de calculo donde:
- A7 es una cantidad en números o celda que contiene un numero
- “Dolar” es opcional y se usa para poner el nombre de la moneda en el texto convertido, puedes usar otras monedas como Peso, Lempira, etc.
- “Dolares”, es también opcional y se usa para mostrar la moneda en plural, puedes dejarlo en blanco o ingresar otra moneda como Pesos, Lempiras, etc.
Si tuviste algún problema o quieres ver una demostración puedes bajar esta Hoja de calculo con la función ya creada. Si lo que deseas es que esta función esté siempre disponible puedes descargar e instalar este complemento de excel. Si tienes problemas para instalarlo consulta el articulo para instalar complementos en Excel 2007 o 2010.