En las versiones de Excel 2013 y Excel 2016 no existe una función predeterminada que permita mostrar los números como palabras en inglés dentro de una hoja de cálculo, pero lo que sí es válido es agregar esta funcionalidad pegando el código de la herramienta SPELLNUMBER en una hoja de módulo. Dicha función de Excel te permitirá convertir números en palabras en las columnas de Excel.
Crear la función SPELLNUMBER para convertir números en letras
Paso 1. Utiliza el método de las teclas ALT + F11 para abrir el editor de Visual Basic.
También puedes obtener acceso a dicho editor en caso de que se muestre en la pestaña PROGRAMADOR en la cinta de opciones.
Después, haz clic en la pestaña INSERTAR > MÓDULO.
Paso 2. Ahora debes copiar las siguientes líneas de código a continuación. Este código es conocido como FUNCIÓN DE MACRO, ya que automatiza la tarea de convertir los números en letras dentro de toda la hoja de Excel.
Option Explicit
'Función principal
Function SpellNumber(ByVal MyNumber)
Dim Dollars, Cents, TempDim DecimalPlace, CountReDim Place(9) As StringPlace(2) = " Thousand "Place(3) = " Million "Place(4) = " Billion "Place(5) = " Trillion " ' Representación de cadena del importe.MyNumber = Trim(Str(MyNumber))' Posición de decimal 0 si no hayninguno.DecimalPlace= InStr(MyNumber, ".")' Convertir céntimos y establecer MyNumber en cantidad de dólares.If DecimalPlace > 0 Then
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))
MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))
If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars & " Dollars"
End Select
Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " and " & Cents & " Cents"
End Select
SpellNumber = Dollars & Cents
End Function
' Convierte un número entre 100 y 999 en texto
Function GetHundreds(ByVal MyNumber)
Dim Result As String
If Val(MyNumber) = 0 Then Exit Function
MyNumber = Right("000" & MyNumber, 3)
' Convertir la posición de las centenas.
If Mid(MyNumber, 1, 1) <> "0" Then
Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
End If
' Convertir la posición de las decenas y unidades.
If Mid(MyNumber, 2, 1) <> "0" Then
Result = Result & GetTens(Mid(MyNumber, 2))
Else
Result = Result & GetDigit(Mid(MyNumber, 3))
End If
GetHundreds = Result
End Function
' Convierte un número entre 10 y 99 en texto
Function GetTens(TensText)
Dim Result As String
Result = "" ' Convertir en NULL el valor de función temporal.
If Val(Left(TensText, 1)) = 1 Then ' Si el valor está comprendido entre 10-19...
Select Case Val(TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else ' Si el valor está entre 20 y 99...
Select Case Val(Left(TensText, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit _
(Right(TensText, 1)) ' Recupera una posición.
End If
GetTens = Result
End Function
' Convierte un número entre 1 y 9 en texto.
Function GetDigit(Digit)
Select Case Val(Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
Paso 3. Pega las líneas de dicho código en el cuadro MÓDULO 1 (CÓDIGO).
Paso 4. Haz clic en ARCHIVO > CERRAR y vuelve a iniciar Microsoft Excel. De esta manera la función SPELLNUMBER estará lista para usar.