Sub nomNumero()
Dim unidades(20), decenas(10), centenas(10), miles(1) As String
Dim nombre As String
Dim num As Integer
unidades(0) = "cero"
unidades(1) = "uno"
unidades(2) = "dos"
unidades(3) = "tres"
unidades(4) = "cuatro"
unidades(5) = "cinco"
unidades(6) = "seis"
unidades(7) = "siete"
unidades(8) = "ocho"
unidades(9) = "nueve"
unidades(10) = "diez"
unidades(11) = "once"
unidades(12) = "doce"
unidades(13) = "trece"
unidades(14) = "catorce"
unidades(15) = "quince"
unidades(16) = "dieciseis"
unidades(17) = "diecisiete"
unidades(18) = "dieciocho"
unidades(19) = "diecinueve"
decenas(0) = "veinte"
decenas(1) = "diez"
decenas(2) = "veinti"
decenas(3) = "treinta"
decenas(4) = "cuarenta"
decenas(5) = "cincuenta"
decenas(6) = "sesenta"
decenas(7) = "setenta"
decenas(8) = "ochenta"
decenas(9) = "noventa"
centenas(1) = "cien"
centenas(2) = "doscientos"
centenas(3) = "trescientos"
centenas(4) = "cuatrocientos"
centenas(5) = "quinientos"
centenas(6) = "seiscientos"
centenas(7) = "setecientos"
centenas(8) = "ochocientos"
centenas(9) = "novecientos"
miles(1) = "mil"
num = Val(InputBox("escribe un numero menor o igual a mil: "))
if num = 1000 then
nombre = miles(1)
end if
if num >= 100 and num <1000 then
nombre = centenas(Int(num/100))
num = num - Int(num/100)*100
end if
if num = 20 then
nombre = nombre & " " & decenas(0)
end if
if num >20 then
nombre = nombre & " " & decenas(Int(num/10))
num = num - Int(num/10)*10
end if
if num > 0 and num <=10 then
nombre = nombre & " y " & unidades(num)
end if
msgbox(nombre)
End Sub