NUEVOS Cursos de Oficios onLine
 

Copiar cantidades en numeros a letras en Excel 2007

Seguir
Que tal Saludos!
tengo un problema necesito hacer un tipo de factura en el cual cuando yo escriba en una celda Q.1000 en otra este se copie pero en letras "MIL" para esto se que necesito un archivo llamado DLLTCAST.DLL, el cual viene en un archivo comprimido llamado: "E10467.exe" el cual trae este archivo y otro mas de word. pero por mas que busco no lo encuentro y la pag. de Microsoft dice que no esta mas ese archivo. al igual en la web no lo encuentro.

alquien lo tendra por ahi que me haga el favor de enviarmelo o bien adjuntarlo por aca.
Muchas Gracias desde ya.

    1 Solución propuesta

    SOLUCIÓN ACEPTADA
    Buscalo aqui
    tienes que oner la siguiente funcion en una macro..

    Function num_letras(Numero As Double) As String
    Dim Letras As String
    Dim HuboCentavos As Boolean
    Dim Decimales As Double
    Decimales = Numero - Int(Numero)
    Numero = Int(Numero)
    Dim Numeros(90) As String
    Numeros(0) = "cero"
    Numeros(1) = "uno"
    Numeros(2) = "dos"
    Numeros(3) = "tres"
    Numeros(4) = "cuatro"
    Numeros(5) = "cinco"
    Numeros(6) = "seis"
    Numeros(7) = "siete"
    Numeros( = "ocho"
    Numeros(9) = "nueve"
    Numeros(10) = "diez"
    Numeros(11) = "once"
    Numeros(12) = "doce"
    Numeros(13) = "trece"
    Numeros(14) = "catorce"
    Numeros(15) = "quince"
    Numeros(20) = "veinte"
    Numeros(30) = "treinta"
    Numeros(40) = "cuarenta"
    Numeros(50) = "cincuenta"
    Numeros(60) = "sesenta"
    Numeros(70) = "setenta"
    Numeros(80) = "ochenta"
    Numeros(90) = "noventa"
    Do
    '*---> Centenas de Millón
    If (Numero < 1000000000) And (Numero >= 100000000) Then
    If (Int(Numero / 100000000) = 1) And ((Numero - (Int(Numero / 100000000) * 100000000)) < 1000000) Then
    Letras = Letras & "cien millones "
    Else
    Select Case Int(Numero / 100000000)
    Case 1
    Letras = Letras & "ciento"
    Case 5
    Letras = Letras & "quinientos"
    Case 7
    Letras = Letras & "setecientos"
    Case 9
    Letras = Letras & "novecientos"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100000000))
    End Select
    If (Int(Numero / 100000000) <> 1) And (Int(Numero / 100000000) <> 5) And (Int(Numero / 100000000) <> 7) And (Int(Numero / 100000000) <> 9) Then
    Letras = Letras & "cientos "
    Else
    Letras = Letras & " "
    End If
    End If
    Numero = Numero - (Int(Numero / 100000000) * 100000000)
    End If
    '*---> Decenas de Millón
    If (Numero < 100000000) And (Numero >= 10000000) Then
    If Int(Numero / 1000000) < 16 Then
    Letras = Letras & Numeros(Int(Numero / 1000000))
    Letras = Letras & " millones "
    Numero = Numero - (Int(Numero / 1000000) * 1000000)
    Else
    Letras = Letras & Numeros(Int(Numero / 10000000) * 10)
    Numero = Numero - (Int(Numero / 10000000) * 10000000)
    If Numero > 1000000 Then
    Letras = Letras & " y "
    End If
    End If
    End If
    '*---> Unidades de Millón
    If (Numero < 10000000) And (Numero >= 1000000) Then
    If Int(Numero / 1000000) = 1 Then
    Letras = Letras & " un millón "
    Else
    Letras = Letras & Numeros(Int(Numero / 1000000))
    Letras = Letras & " millones "
    End If
    Numero = Numero - (Int(Numero / 1000000) * 1000000)
    End If
    '*---> Centenas de Millar
    If (Numero < 1000000) And (Numero >= 100000) Then
    If (Int(Numero / 100000) = 1) And ((Numero - (Int(Numero / 100000) * 100000)) < 1000) Then
    Letras = Letras & "cien mil "
    Else
    Select Case Int(Numero / 100000)
    Case 1
    Letras = Letras & "ciento"
    Case 5
    Letras = Letras & "quinientos"
    Case 7
    Letras = Letras & "setecientos"
    Case 9
    Letras = Letras & "novecientos"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100000))
    End Select
    If (Int(Numero / 100000) <> 1) And (Int(Numero / 100000) <> 5) And (Int(Numero / 100000) <> 7) And (Int(Numero / 100000) <> 9) Then
    Letras = Letras & "cientos "
    Else
    Letras = Letras & " "
    End If
    End If
    Numero = Numero - (Int(Numero / 100000) * 100000)
    End If
    '*---> Decenas de Millar
    If (Numero < 100000) And (Numero >= 10000) Then
    If Int(Numero / 1000) < 16 Then
    Letras = Letras & Numeros(Int(Numero / 1000))
    Letras = Letras & " mil "
    Numero = Numero - (Int(Numero / 1000) * 1000)
    Else
    Letras = Letras & Numeros(Int(Numero / 10000) * 10)
    Numero = Numero - (Int((Numero / 10000)) * 10000)
    If Numero > 1000 Then
    Letras = Letras & " y "
    Else
    Letras = Letras & " mil "
    End If
    End If
    End If
    '*---> Unidades de Millar
    If (Numero < 10000) And (Numero >= 1000) Then
    If Int(Numero / 1000) = 1 Then
    Letras = Letras & "un"
    Else
    Letras = Letras & Numeros(Int(Numero / 1000))
    End If
    Letras = Letras & " mil "
    Numero = Numero - (Int(Numero / 1000) * 1000)
    End If
    '*---> Centenas
    If (Numero < 1000) And (Numero > 99) Then
    If (Int(Numero / 100) = 1) And ((Numero - (Int(Numero / 100) * 100)) < 1) Then
    Letras = Letras & "cien "
    Else
    Select Case Int(Numero / 100)
    Case 1
    Letras = Letras & "ciento"
    Case 5
    Letras = Letras & "quinientos"
    Case 7
    Letras = Letras & "setecientos"
    Case 9
    Letras = Letras & "novecientos"
    Case Else
    Letras = Letras & Numeros(Int(Numero / 100))
    End Select
    If (Int(Numero / 100) <> 1) And (Int(Numero / 100) <> 5) And (Int(Numero / 100) <> 7) And (Int(Numero / 100) <> 9) Then
    Letras = Letras & "cientos "
    Else
    Letras = Letras & " "
    End If
    End If
    Numero = Numero - (Int(Numero / 100) * 100)
    End If
    '*---> Decenas
    If (Numero < 100) And (Numero > 9) Then
    If Numero < 16 Then
    Letras = Letras & Numeros(Int(Numero))
    Numero = Numero - Int(Numero)
    Else
    Letras = Letras & Numeros(Int((Numero / 10)) * 10)
    Numero = Numero - (Int((Numero / 10)) * 10)
    If Numero > 0.99 Then
    Letras = Letras & " y "
    End If
    End If
    End If
    '*---> Unidades
    If (Numero < 10) And (Numero > 0.99) Then
    Letras = Letras & Numeros(Int(Numero))
    Numero = Numero - Int(Numero)
    End If
    Loop Until (Numero = 0)
    'num_letras = Letras
    End Function


    luego en una celdapones funciones/ definidas por el usuario, la funcion num_letras que creaste con la macro.
    por ejemplo en la celda b5 pones
    = num_letras(a5)