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