#Excelútil
Explore tagged Tumblr posts
fernando-arciniega · 26 days ago
Text
Cómo convertir números a letras en Excel paso a paso
Tumblr media
En muchas ocasiones necesitamos que un número se exprese en letras, ya sea para crear facturas, recibos, cheques u otros documentos formales. Aunque Excel no cuenta con una función nativa para convertir números a letras en español, existen formas sencillas de lograrlo mediante macros. En esta entrada te explico cómo hacerlo paso a paso. 📌 ¿Qué es una macro en Excel? Una macro es una serie de instrucciones programadas con VBA (Visual Basic for Applications) que automatizan tareas. En este caso, la macro se encargará de convertir automáticamente un número en su equivalente escrito con letras. 🛠️ Pasos para convertir números a letras en Excel 1. Abre el editor de Visual Basic - Presiona ALT + F11 para abrir el Editor de Visual Basic. - En el menú, selecciona Insertar > Módulo. 2. Copia y pega el siguiente código Este código convierte números a letras en español: Function NumLetras(ByVal MyNumber) Dim Pesos, Centavos, Temp Dim DecimalPlace, Count Dim Place(9) As String Place(2) = " mil " Place(3) = " millones " Place(4) = " mil millones " Place(5) = " billones " ' Convierte el número en texto MyNumber = Trim(Str(MyNumber)) ' Encuentra el punto decimal DecimalPlace = InStr(MyNumber, ".") If DecimalPlace > 0 Then Centavos = 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 Pesos = Temp & Place(Count) & Pesos If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop NumLetras = Application.Trim(Pesos) End Function Private Function GetHundreds(ByVal MyNumber) Dim Result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) If Mid(MyNumber, 1, 1) "0" Then Select Case Mid(MyNumber, 1, 1) Case "1": Result = "ciento " Case "2": Result = "doscientos " Case "3": Result = "trescientos " Case "4": Result = "cuatrocientos " Case "5": Result = "quinientos " Case "6": Result = "seiscientos " Case "7": Result = "setecientos " Case "8": Result = "ochocientos " Case "9": Result = "novecientos " End Select End If Result = Result & GetTens(Mid(MyNumber, 2)) GetHundreds = Result End Function Private Function GetTens(TensText) Dim Result As String If Val(Left(TensText, 1)) = 1 Then 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 = "dieciséis" Case 17: Result = "diecisiete" Case 18: Result = "dieciocho" Case 19: Result = "diecinueve" Case Else End Select Else 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 If Right(TensText, 1) "0" Then If Val(Left(TensText, 1)) = 2 Then Result = "veinti" & GetDigit(Right(TensText, 1)) Else Result = Result & " y " & GetDigit(Right(TensText, 1)) End If End If End If GetTens = Result End Function Private 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 3. Guarda y cierra el editor - Guarda los cambios y cierra el Editor de Visual Basic. 4. Usa la fórmula en una celda - Escribe en una celda: =NumLetras(A1) Reemplaza A1 por la celda que contiene el número que quieres convertir. 🎯 Recomendaciones - Guarda tu archivo como Libro habilitado para macros (.xlsm). - Asegúrate de que las macros estén habilitadas en Excel para que la función funcione correctamente. - Puedes personalizar el código si deseas agregar palabras como "pesos", "centavos", o cambiar el idioma. 📢 Si este artículo te fue útil, apóyame dando clic en los anuncios. Con tu ayuda puedo seguir creando y compartiendo contenido de valor. ¡Gracias! Read the full article
0 notes