RE:Manuales de Excel avanzado
hola , a mi me pasaron esto
la copio y adjunto
'Programa que convierte números a letras en Excel
'24/01/2004
'=======================================
Public Function NumerosALetras(z) As String
Dim a As String
Dim uno As String
Dim dos As String
Dim tres As String
Dim cuatro As String
Dim cinco As String
Dim seis As String
Dim siete As String
Dim ocho As String
Dim nueve As String
Dim dato As String
'Elimina el primer caracter que es " "
a = Mid(Str(z), 2, Len(z))
'Completa el texto a 9 caracteres
Select Case Len(a)
Case Is = 1
a = " " + a
Case Is = 2
a = " " + a
Case Is = 3
a = " " + a
Case Is = 4
a = " " + a
Case Is = 5
a = " " + a
Case Is = 6
a = " " + a
Case Is = 7
a = " " + a
Case Is = 8
a = " " + a
End Select
If Len(a) > 9 Then
'Valida que el número sea de tamaño apropiado
NumerosALetras = "Invalid Number"
Else
'Crea las variables, colocando un caracter en cada una
nueve = Mid(a, 9, 1)
ocho = Mid(a, 8, 1)
siete = Mid(a, 7, 1)
seis = Mid(a, 6, 1)
cinco = Mid(a, 5, 1)
cuatro = Mid(a, 4, 1)
tres = Mid(a, 3, 1)
dos = Mid(a, 2, 1)
uno = Mid(a, 1, 1)
'Programa
Select Case nueve
Case Is = "1"
dato = " uno"
Case Is = "2"
dato = " dos"
Case Is = "3"
dato = " tres"
Case Is = "4"
dato = " cuatro"
Case Is = "5"
dato = " cinco"
Case Is = "6"
dato = " seis"
Case Is = "7"
dato = " siete"
Case Is = "8"
dato = " ocho"
Case Is = "9"
dato = " nueve"
Case Is = "0"
dato = ""
End Select
Select Case ocho
Case Is = "1"
Select Case nueve
Case Is = "0"
dato = " diez"
Case Is = "1"
dato = " once"
Case Is = "2"
dato = " doce"
Case Is = "3"
dato = " trece"
Case Is = "4"
dato = " catorce"
Case Is = "5"
dato = " quince"
Case Else
dato = " diez y" + dato
End Select
Case Is = "2"
dato = " veinti" + dato
Case Is = "3"
dato = " treinta y" + dato
Case Is = "4"
dato = " cuarenta y" + dato
Case Is = "5"
dato = " cincueta y" + dato
Case Is = "6"
dato = " sesenta y" + dato
Case Is = "7"
dato = " setenta y" + dato
Case Is = "8"
dato = " ochenta y" + dato
Case Is = "9"
dato = " noventa y" + dato
Case Is = "0"
dato = ""
End Select
Select Case siete
Case Is = "1"
dato = " ciento" + dato
Case Is = "2"
dato = " doscientos" + dato
Case Is = "3"
dato = " trescientos" + dato
Case Is = "4"
dato = " cuatrocientos" + dato
Case Is = "5"
dato = " quinientos" + dato
Case Is = "6"
dato = " seicientos" + dato
Case Is = "7"
dato = " setecientos" + dato
Case Is = "8"
dato = " ochocientos" + dato
Case Is = "9"
dato = " novecientos" + dato
Case Is = "0"
dato = ""
End Select
Select Case seis
Case Is = "1"
dato = " un mil" + dato
Case Is = "2"
dato = " dos mil" + dato
Case Is = "3"
dato = " tres mil" + dato
Case Is = "4"
dato = " cuatro mil" + dato
Case Is = "5"
dato = " cinco mil" + dato
Case Is = "6"
dato = " seis mil" + dato
Case Is = "7"
dato = " siete mil" + dato
Case Is = "8"
dato = " ocho mil" + dato
Case Is = "9"
dato = " nueve mil" + dato
Case Is = "0"
dato = ""
End Select
Select Case cinco
Case Is = "1"
Select Case seis
Case Is = "1"
dato = " once" + dato
Case Is = "2"
dato = " doce" + dato
Case Is = "3"
dato = " trece" + dato
Case Is = "4"
dato = " catorce" + dato
Case Is = "5"
dato = " quince" + dato
Case Else
dato = " diez y" + dato
End Select
Case Is = "2"
dato = " veinti" + dato
Case Is = "3"
dato = " treinta y" + dato
Case Is = "4"
dato = " cuarenta y" + dato
Case Is = "5"
dato = " cincueta y" + dato
Case Is = "6"
dato = " sesenta y" + dato
Case Is = "7"
dato = " setenta y" + dato
Case Is = "8"
dato = " ochenta y" + dato
Case Is = "9"
dato = " noventa y" + dato
Case Is = "0"
dato = ""
End Select
Select Case cuatro
Case Is = "1"
dato = " ciento" + dato
Case Is = "2"
dato = " doscientos" + dato
Case Is = "3"
dato = " trescientos" + dato
Case Is = "4"
dato = " cuatrocientos" + dato
Case Is = "5"
dato = " quinientos" + dato
Case Is = "6"
dato = " seicientos" + dato
Case Is = "7"
dato = " setecientos" + dato
Case Is = "8"
dato = " ochocientos" + dato
Case Is = "9"
dato = " novecientos" + dato
Case Is = "0"
dato = ""
End Select
Select Case tres
Case Is = "1"
dato = " un millón" + dato
Case Is = "2"
dato = " dos millones" + dato
Case Is = "3"
dato = " tres millones" + dato
Case Is = "4"
dato = " cuatro millones" + dato
Case Is = "5"
dato = " cinco millones" + dato
Case Is = "6"
dato = " seis millones" + dato
Case Is = "7"
dato = " siete millones" + dato
Case Is = "8"
dato = " ocho millones" + dato
Case Is = "9"
dato = " nueve millones" + dato
Case Is = "0"
dato = ""
End Select
Select Case dos
Case Is = "1"
Select Case tres
Case Is = "1"
dato = " once" + dato
Case Is = "2"
dato = " doce" + dato
Case Is = "3"
dato = " trece" + dato
Case Is = "4"
dato = " catorce" + dato
Case Is = "5"
dato = " quince" + dato
Case Else
dato = " diez y" + dato
End Select
Case Is = "2"
dato = " veinti" + dato
Case Is = "3"
dato = " treinta y" + dato
Case Is = "4"
dato = " cuarenta y" + dato
Case Is = "5"
dato = " cincueta y" + dato
Case Is = "6"
dato = " sesenta y" + dato
Case Is = "7"
dato = " setenta y" + dato
Case Is = "8"
dato = " ochenta y" + dato
Case Is = "9"
dato = " noventa y" + dato
Case Is = "0"
dato = ""
End Select
Select Case uno
Case Is = "1"
dato = " ciento" + dato
Case Is = "2"
dato = " doscientos" + dato
Case Is = "3"
dato = " trescientos" + dato
Case Is = "4"
dato = " cuatrocientos" + dato
Case Is = "5"
dato = " quinientos" + dato
Case Is = "6"
dato = " seicientos" + dato
Case Is = "7"
dato = " setecientos" + dato
Case Is = "8"
dato = " ochocientos" + dato
Case Is = "9"
dato = " novecientos" + dato
Case Is = "0"
dato = ""
End Select
NumerosALetras = dato
End If
End Function