Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
Foto 1 textbox 1 150x150, Convertir números en letras con Macros en Excel

Convertir números en letras con Macros en Excel

| 7 comentarios

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:

Foto 1 textbox 1, Convertir números en letras con Macros en Excel

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.

Convertir n%c3%bameros en letras, Convertir números en letras con Macros en Excel

Estos tres métodos se encuentran en el módulo 1, 2 y 3 del siguiente archivo:

Convertir números en letras

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:

Convertir números en letras

7 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.