Pedro prueba pegando el siguiente código:
Function Orden(ByVal inValue As Long) As String
Dim Unidades, Decenas, Cientos
Dim n As Long
Dim unit As Long, ten As Long, hund As Long
Unidades = Array("", "Primero", "Segundo", "Tercero", "Cuarto", _
"Quinto", "Sexto", "Séptimo", "Octavo", "Noveno", "Décimo")
Decenas = Array("", "Décimo ", "Vigésimo ", "Trigésimo ", "Cuadragésimo ", _
"Quincuagésimo ", "Sexagésimo ", "Septuagésimo ", "Octogésimo ", "Nonagésimo ")
Cientos = Array("", "Centésimo ", "Ducentésimo ", "Tricentésimo ", "Cuadrigentésimo ", _
"Quingentésimo ", "Sexcentésimo ", "Septigentésimo ", "Octingentésimo ", "Noningentesimo ")
Orden = ""
n = inValue
hund = n 100
Orden = Orden & Cientos(hund)
n = n - hund * 100
ten = n 10
unit = n - ten * 10
Orden = Orden & Decenas(ten) & Unidades(unit)
Orden = (Trim(Orden))
End Function
Como creo que hay casos entre otros que no se dice:
Décimo Segundo sino Duodécimo, averiguo y la mejoro Ok ?
Cordial saludo desde Pereira Colombia