Convertir números en letras consiste en colocar textualmente un número, por ejemplo:
43: Cuarenta y tres
28: Veintiocho
812: Ochocientos doce
Este programa puede ser utilizado para redactar facturas, que en algunos caso requiere redactar el monto final:
S/. 575,50: Quinientos setenta y cinco soles 50/100
Para esta ocasión, solicitaremos que se ingrese un número entre el 1 y 999 en un textbox:
Y la conversión se realiza con la siguiente programación:
Considerar las combinaciones de las decenas del 10 y 20, ya que estas son diferentes a las demás (no se escribe VEINTE Y CINCO; si no, VEINTICINCO)
Otros Métodos para convertir números en Letras
Además del formulario empleado se han simplificado otros tres métodos usuales.
Estos tres métodos se encuentran en el módulo 1, 2 y 3 del siguiente archivo:
Código para convertir Números en Letras
En el caso del fórmulario el código empleado es el siguiente:
Private Sub CommandButton1_Click() Total = TextBox1.Text Centena = Int(Total / 100) Decena = Int((Total Mod 100) / 10) Unidad = Int(Total Mod 10) Select Case Centena Case 1 If Decena = 0 And Unidad = 0 Then Centena = "CIEN" Else Centena = "CIENTO" End If Case 2 Centena = "DOSCIENTOS" Case 3 Centena = "TRECIENTOS" Case 4 Centena = "CUATROCIENTOS" Case 5 Centena = "QUINIENTOS" Case 6 Centena = "SEISCIENTOS" Case 7 Centena = "SETECIENTOS" Case 8 Centena = "OCHOCIENTOS" Case 9 Centena = "NOVECIENTOS" End Select If Unidad <> 0 And Decena = 1 Then Select Case Unidad Case 1 decenas = "ONCE" Unidad = "" Case 2 Decena = "DOCE" Unidad = "" Case 3 Decena = "TRECE" Unidad = "" Case 4 Decena = "CATORCE" Unidad = "" Case 5 Decena = "QUINCE" Unidad = "" Case 6 Decena = "DIECISEIS" Unidad = "" Case 7 Decena = "DIECISIETE" Unidad = "" Case 8 Decena = "DIECIOCHO" Unidad = "" Case 9 Decena = "DIECINUEVE" Unidad = "" End Select End If If Unidad <> 0 And Decena = 2 Then Select Case Unidad Case 1 Decena = "VEINTIUNO" Unidad = "" Case 2 Decena = "VEINTIDOS" Unidad = "" Case 3 Decena = "VEINTITRES" Unidad = "" Case 4 Decena = "VEINTICUATRO" Unidad = "" Case 5 Decena = "VEINTICINCO" Unidad = "" Case 6 Decena = "VEINTISEIS" Unidad = "" Case 7 Decena = "VEINTISIETE" Unidad = "" Case 8 Decena = "VEINTIOCHO" Unidad = "" Case 9 Decena = "VEINTINUEVE" Unidad = "" End Select End If If Unidad = 0 Then Select Case Decena Case 0 Decena = "" Case 1 Decena = "DIEZ" Unidad = "" Case 2 Decena = "VEINTE" Unidad = "" Case 3 Decena = "TREINTA" Unidad = "" Case 4 Decena = "CUARENTA" Unidad = "" Case 5 Decena = "CINCUENTA" Unidad = "" Case 6 Decena = "SESENTA" Unidad = "" Case 7 Decena = "SETENTA" Unidad = "" Case 8 Decena = "OCHENTA" Unidad = "" Case 9 Decena = "NOVENTA" Unidad = "" End Select Else Select Case Decena Case 0 Decena = "" Case 1 Decena = "DIEZ" Case 2 Decena = "VEINTE" Case 3 Decena = "TREINTA" Case 4 Decena = "CUARENTA" Case 5 Decena = "CINCUENTA" Case 6 Decena = "SESENTA" Case 7 Decena = "SETENTA" Case 8 Decena = "OCHENTA" Case 9 Decena = "NOVENTA" End Select End If Select Case Unidad Case 0 Unidad = "" Case 1 Unidad = "UNO" Case 2 Unidad = "DOS" Case 3 Unidad = "TRES" Case 4 Unidad = "CUATRO" Case 5 Unidad = "CINCO" Case 6 Unidad = "SEIS" Case 7 Unidad = "SIETE" Case 8 Unidad = "OCHO" Case 9 Unidad = "NUEVE" End Select If Unidad = "" Then TextBox2 = Centena & " " & Decena Else TextBox2 = Centena & " " & Decena & " " & "Y" & " " & Unidad End If If Decena = "" Then TextBox2 = Centena & " " & Unidad End If If Centena = "" And Decena = 1 Then TextBox2 = Decena End If If Centena = "" And Decena = 2 Then TextBox2 = Decena End If If Centena = 0 Then TextBox2 = Decena & " " & "Y" & " " & Unidad End If End Sub
Descargar ejemplo completo desde el siguiente enlace:
24/02/2013 a las 2:14 am
Wow...¡¡ es una de las respuestas que he estado buscando durante mucho... sin embargo, al copia el codigo y elaborar el diseño igual al de la muestra, no consigo obtener el resultado de los nùmeros... ¿es posible que puedan publicar un ejemplo en archivo? para que lo pueda analizar y adaptar a mi proyecto... De antemano muchas gracias y perdòn por el abuso de la peticiòn...
09/05/2013 a las 6:21 pm
Hola Oscar
Actualmente ya existe un archivo con los ejemplos.
Saludos
27/12/2013 a las 6:30 pm
Señores lo único que tiene que hacer es cambiar las comillas, espero les sirva...
30/06/2013 a las 7:57 pm
Excelente!
Todavia no lo probe, pero me parece una buena herramienta.
LB.
10/04/2015 a las 11:34 am
Hola, felicitaciones, eres muy amable al compartir tus conocimientos.
Respecto a esto no logro realizar el proceso, me envías un ejemplo Excel?
Gracias
07/08/2015 a las 3:14 pm
Señores se van a la pestaña programación en Excel. Allí buscan la pestaña EDICIÓN y se van a donde dice REEMPLAZAR. Seguido cambien las comillas que tiene el programa por las que utiliza excel. No les corre porque excel no reconoce esas comillas. Eso es todo.! A mí me corrio el programa y me gusto mucho. Lo voy ampliar para que me reconozca Unidad de mil.
23/05/2018 a las 9:42 am
Como hacer que esto mismo convierta números mas grandes ?
07/04/2022 a las 2:51 pm
buena tarde
Reemplazar las comillas por las de excel a que se refieren