Cargando

Ir a contenido

X


Si te gusta, puede ser tuyo
Desde 1€ al día
Ver Más! Si no tienes tu Galaxy S10 es porque no quieres! Hazte con él desde menos de 1 euro al día.


 


Cómo convertir número en texto letras Excel 2019 o Excel 2016

Tutorial para poder convertir automáticamente números en letras formato texto de forma fácil en Excel 2019 o Excel 2016.


Escrito por ene 17 2019 15:48 excel



Microsoft Excel es una de las herramientas más poderosas con las cuales será posible administrar y controlar grandes cantidades de datos de diversos tipos (números, fechas, texto, etc), gracias a sus cientos de funciones, formulas y herramientas integradas las cuales permiten tener el control total sobre cada dato ingresado en las hojas de cálculo activas. Una de las tareas que puede ser recurrente o útil en Excel, tanto 2016 como 2019, es la conversión de números en letras. Esto es útil especialmente si estamos en un área contable o de finanzas, ya que esto ayuda a generar valores directamente en letras, algo común cuando se manejan cheques, por ejemplo.

 

Tutorial para saber cómo cambiar formato número a texto Excel 2019 o Excel 2016 paso por paso.

 

Aunque Microsoft Excel 2016 y la nueva edición 2019 están llenas de funciones, Excel no cuenta con una función integrada que se encargue de mostrar los números como palabras en una hoja de cálculo, lo cual puede suponer un problema o fallo para muchos usuarios. Para lograr esta conversión, debemos crear un código de la función SpellNumber en un módulo de VBA (Visual Basic para aplicaciones) el cual automatizará esta acción.

 

Solvetic explicará en detalle cómo realizar esto en Microsoft Excel 2019 pero el mismo proceso aplica para Excel 2016.

 

 

Crear la función SpellNumber para convertir números en palabras en Microsoft Excel 2019, 2016

 

Paso 1

Para llevar a cabo este proceso debemos acceder a la ventana del Editor de Visual Basic (VBE) a la cual se accede usando las teclas siguientes.

 

Alt + F11

 

 

Paso 2

Otro método alterno, es usando el menú Programador, en caso de no contar con el (recordemos que esta deshabilitado por defecto), debemos ir al menú “Archivo / Opciones” y allí ir a la sección “Personalizar la cinta de opciones”:

 

 

Paso 3

Allí vamos al costado lateral derecho y activaremos la casilla “Programador” y pulsamos en Aceptar, recordemos que con este menú será posible:
  • Escribir macros
  • Usar comandos XML.
  • Usar controles ActiveX.
  • Ejecutar macros grabadas anteriormente.
  • Crear aplicaciones para usar con programas de Microsoft Office.
  • Usar controles de formularios en Microsoft Excel.
  • Trabajar con ShapeSheet en Microsoft Visio.
  • Crear nuevas formas y galerías de símbolos en Microsoft Visio.

 

Paso 4

Una vez accedamos a la ventana del Editor de Visual Basic, vamos al menú “Insertar” y allí seleccionamos la opción “Módulo”:

 

2-insertar-modulo-excel.png

 

Paso 5

En la nueva ventana desplegada pegaremos el siguiente contenido:
Option Explicit

'Main Function

Function SpellNumber(ByVal MyNumber)

Dim Dollars, Cents, Temp

Dim DecimalPlace, Count

ReDim Place(9) As String

Place(2) = " Mil "

Place(3) = " Millon "

Place(4) = " Billon "

Place(5) = " Trillon "

' String representation of amount.

MyNumber = Trim(Str(MyNumber))

' Position of decimal place 0 if none.

DecimalPlace = InStr(MyNumber, ".")

' Convert cents and set MyNumber to dollar amount.

If DecimalPlace > 0 Then

Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))

MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

End If

Count = 1

Do 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 hay dolares"

Case "One"

Dollars = "Un Dolar"

Case Else

Dollars = Dollars & " Dolares"

End Select

Select Case Cents

Case ""

Cents = " Sin centavos"

Case "One"

Cents = " Y un centavo"

Case Else

Cents = " y " & Cents & " Centavos"

End Select

SpellNumber = Dollars & Cents

End Function


' Converts a number from 100-999 into text

Function GetHundreds(ByVal MyNumber)

Dim Result As String

If Val(MyNumber) = 0 Then Exit Function

MyNumber = Right("000" & MyNumber, 3)

' Convert the hundreds place.

If Mid(MyNumber, 1, 1) <> "0" Then

Result = GetDigit(Mid(MyNumber, 1, 1)) & " Mil "

End If

' Convert the tens and ones place.

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


' Converts a number from 10 to 99 into text.


Function GetTens(TensText)

Dim Result As String

Result = "" ' Null out the temporary function value.

If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...

Select Case Val(TensText)

Case 10: Result = "Diez"

Case 11: Result = "Once"

Case 12: Result = "Doce"

Case 13: Result = "Trece"

Case 14: Result = "Catorce"

Case 15: Result = "Quince"

Case 16: Result = "Dieciseis"

Case 17: Result = "Diecisiete"

Case 18: Result = "Dieciocho"

Case 19: Result = "Diecinueve"

Case Else

End Select

Else ' If value between 20-99...

Select Case Val(Left(TensText, 1))

Case 2: Result = "Veinte "

Case 3: Result = "Treinta "

Case 4: Result = "Cuarenta "

Case 5: Result = "Cincuenta "

Case 6: Result = "Sesenta "

Case 7: Result = "Setenta "

Case 8: Result = "ochenta "

Case 9: Result = "Noventa "

Case Else

End Select

Result = Result & GetDigit(Right(TensText, 1))  ' Retrieve ones place.

End If

GetTens = Result

End Function


' Converts a number from 1 to 9 into text.

Function GetDigit(Digit)

Select Case Val(Digit)

Case 1: GetDigit = "Uno"

Case 2: GetDigit = "Dos"

Case 3: GetDigit = "Tres"

Case 4: GetDigit = "Cuatro"

Case 5: GetDigit = "Cinco"

Case 6: GetDigit = "Seis"

Case 7: GetDigit = "Siete"

Case 8: GetDigit = "Ocho"

Case 9: GetDigit = "Nueve"

Case Else: GetDigit = ""

End Select

End Function

 

 

Paso 6

Una vez tengamos insertado este script en el editor de Excel, procedemos a guardarlo para futuras tareas, para ello vamos al menú “Archivo / Guardar cómo” y en la ventana desplegada seleccionamos la opción “Libro de Excel habilitado para macros” y asignamos un nombre al mismo. Pulsamos en Guardar y estaremos listos para usar esta fórmula creada.

 

 

 

 

Paso 7

Una vez realizado esto, podemos usar dos métodos para convertir los números en letras en Excel 2019 o 2016, estos son:

 

Método 1 de conversión
Ingresar el número en la celda deseada y en otra celda usar la fórmula
=SpellNumber(Celda)

 

Método 2 de conversión
Ingresar directamente en una celda la fórmula con el valor deseado, por ejemplo
=SpellNumber(18.45)

 

Paso 7

El resultado será la conversión de nuestros números a letras:

 

 

Nota
Los valores del script pueden ser editados según nuestras preferencias de moneda o datos.

 

Así, será posible crear este script para convertir de una forma útil los datos de número en texto en Excel 2016 o 2019.

 

Recopilación de los mejores trucos y tutoriales de Excel 2010, 2013, 2016 y 2019



AYUDA A MEJORAR ESTE TUTORIAL!

¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!


Tutoriales Relacionados



Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado ene 17 2019 15:48
  •   Visitas 2K
  •   Nivel
    Intermedio