Cómo convertir números a letras en Excel

En Excel, no existe una función para convertir de números a letras y por ello, deberemos crear nosotros la función de Excel a través de macros. Para insertar un macro seguiremos el tutorial avanzado de Excel y podremos realizar la función de convertir números a letras en Excel con el tutorial de Visual Basic para Excel.

Pasar de números a letras en Excel

Para crear la función y pasar de números a letras en Excel, insertaremos un módulo en Visual Basic siguiendo las instrucciones explicadas a continuación. ¿Qué macro Excel sirve para convertir números a letras y cómo funciona? Usaremos la función función ConvertToLetter. 

  • Hacer clic en el menú de programador
  • Seleccionar la opción Visual Basic
  • Hacer clic en el menú Insertar módulo
  • Utilizar el siguiente código de VB que os detallamos:

Function CONVERTIRNUMEROLETRA(Numero As Long) As String

Dim Unidades, Decenas, Centenas
Dim Resultado As String

‘**************************************************
‘ Nombre de los números
‘**************************************************
Unidades = Array(“”, “Un”, “Dos”, “Tres”, “Cuatro”, “Cinco”, “Seis”, “Siete”, “Ocho”, “Nueve”, “Diez”, “Once”, “Doce”, “Trece”, “Catorce”, “Quince”, “Dieciséis”, “Diecisiete”, “Dieciocho”, “Diecinueve”, “Veinte”, “Veintiuno”, “Veintidos”, “Veintitres”, “Veinticuatro”, “Veinticinco”, “Veintiseis”, “Veintisiete”, “Veintiocho”, “Veintinueve”)
Decenas = Array(“”, “Diez”, “Veinte”, “Treinta”, “Cuarenta”, “Cincuenta”, “Sesenta”, “Setenta”, “Ochenta”, “Noventa”, “Cien”)
Centenas = Array(“”, “Ciento”, “Doscientos”, “Trescientos”, “Cuatrocientos”, “Quinientos”, “Seiscientos”, “Setecientos”, “Ochocientos”, “Novecientos”)
‘**************************************************
Select Case Numero
Case 0
Resultado = “Cero”
Case 1 To 29
Resultado = Unidades(Numero)
Case 30 To 100
Resultado = Decenas(Numero \ 10) + IIf(Numero Mod 10 <> 0, ” y ” + CONVERTIRNUMEROLETRA(Numero Mod 10), “”)
Case 101 To 999
Resultado = Centenas(Numero \ 100) + IIf(Numero Mod 100 <> 0, ” ” + CONVERTIRNUMEROLETRA(Numero Mod 100), “”)
Case 1000 To 1999
Resultado = “Mil” + IIf(Numero Mod 1000 <> 0, ” ” + CONVERTIRNUMEROLETRA(Numero Mod 1000), “”)
Case 2000 To 999999
Resultado = CONVERTIRNUMEROLETRA(Numero \ 1000) + ” Mil” + IIf(Numero Mod 1000 <> 0, ” ” + CONVERTIRNUMEROLETRA(Numero Mod 1000), “”)
Case 1000000 To 1999999
Resultado = “Un Millón” + IIf(Numero Mod 1000000 <> 0, ” ” + CONVERTIRNUMEROLETRA(Numero Mod 1000000), “”)
Case 2000000 To 1999999999
Resultado = CONVERTIRNUMEROLETRA(Numero \ 1000000) + ” Millones” + IIf(Numero Mod 1000000 <> 0, ” ” + CONVERTIRNUMEROLETRA(Numero Mod 1000000), “”)
End Select
CONVERTIRNUMEROLETRA = Resultado

End Function

  • Una vez copiado el código anterior de Visual Basic guardaremos el documento con extensión .xlsm que habilita los macros en Excel.
  • Seguidamente emplearemos la función que hemos creado en cualquier celda utilizando la siguiente sintaxis: =CONVERTIRNUMEROLETRA(A1)

Los macros de Excel