PEDIDO excel

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • AxiLA
    Pichón
    • 12-02-2006
    • 3

    #1

    PEDIDO excel

    hola gente, alguien sabe como hacer para para pasar de letras a numeros y de numeros a letras en excel ( por ejemplo poner en una celda 120 y que en otra aparezca "ciento veinte" ) lo tengo que hacer con decimales y con hasta 4 cifras (seria de 0.00 a 9999.99)
  • Roy
    the toxic boy
    • 20-03-2004
    • 17028

    #2
    busca en internet que hay una especie de macro...

    sino programala vos



    yo tuve que probar 2 o 3 y el que mas me gusto escribia todo en mayuscula, asi que tuve que editarlo

    suerte
    To those who knew him
    -his friends-
    we called him Roy.
    To others he was known
    as that horrible Toxic Boy.

    Comentario

    • Ricky HurrDurr Ricon
      comedy=tragedy+time
      • 27-11-2003
      • 14830

      #3
      Originalmente publicado por Roy
      busca en internet que hay una especie de macro...

      sino programala vos



      yo tuve que probar 2 o 3 y el que mas me gusto escribia todo en mayuscula, asi que tuve que editarlo

      suerte
      es como decis...

      convertir de números a letras
      'Llamada : Letras(Número)
      Function Unidades(num, UNO)
      Dim U
      Dim Cad

      U = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE")
      Cad = ""
      If num = 1 Then
      If UNO = 1 Then
      Cad = Cad & "UNO"
      Else
      Cad = Cad & "UN"
      End If
      Else
      Cad = Cad & U(num - 1)
      End If
      Unidades = Cad
      End Function

      Function Decenas(num1, res)
      Dim D1
      D1 = Array("ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", _
      "DIECIOCHO", "DIECINUEVE")
      D2 = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", _
      "SETENTA", "OCHENTA", "NOVENTA")

      If num1 > 10 And num1 2 Then
      If res > 0 Then
      Cad1 = Cad1 & " Y "
      Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
      End If
      Else
      If res = 0 Then
      Cad1 = Cad1 & "E"
      Else
      Cad1 = Cad1 & "I"
      Cad1 = Cad1 & Unidades(num1 Mod 10, 0)
      End If
      End If
      End If
      Decenas = Cad1
      End Function

      Function Cientos(num2)
      num3 = num2 100
      Select Case num3
      Case 1
      If num2 = 100 Then
      cad2 = "CIEN "
      Else
      cad2 = "CIENTO "
      End If
      Case 5
      cad2 = "QUINIENTOS "
      Case 7
      cad2 = "SETECIENTOS "
      Case 9
      cad2 = "NOVECIENTOS "
      Case Else
      cad2 = Unidades(num3, 0) & "CIENTOS "
      End Select

      num2 = num2 Mod 100
      If num2 > 0 Then
      If num2 = 100) Then
      cad3 = Cientos(num4)
      Else
      If (num4 >= 10) Then
      cad3 = Decenas(num4, num4 Mod 10)
      Else
      cad3 = Unidades(num4, 0)
      End If
      End If
      cad3 = cad3 & " MIL "
      Miles = cad3
      End Function

      Function Millones(cant)
      If cant = 1 Then
      ter = " "
      Else
      ter = "ES "
      End If
      If (cant >= 1000) Then
      cantl = cantl & Miles(cant 1000)
      cant = cant Mod 1000
      End If
      If cant > 0 Then
      If cant >= 100 Then
      cantl = cantl & Cientos(cant)
      Else
      If cant >= 10 Then
      cantl = cantl & Decenas(cant, cant Mod 10)
      Else
      cantl = cantl & Unidades(cant, 0)
      End If
      End If
      End If
      Millones = cantl & " MILLON" & ter
      End Function
      Function decimales(numero As Single) As Integer
      Dim iaux As Integer
      iaux = numero - Application.Round(numero, 2)
      decimales = iaux
      End Function

      Function letras(cantm As Variant) As String
      Dim cants1 As String, num1 As Variant, num2 As Variant

      num1 = cantm 1000000
      num2 = cantm - (num1 * 1000000)

      cents = (num2 * 100) Mod 100
      If cents = 0 Then
      cents1 = "00"
      Else
      cents1 = Format(cents)
      End If
      cantm = cantm - (cents / 100)
      If cantm >= 1000000 Then
      cantlm = Millones(cantm 1000000)
      cantm = cantm Mod 1000000
      End If
      If cantm > 0 Then
      If (cantm >= 1000) Then
      cantlm = cantlm & Miles(cantm 1000)
      cantm = cantm Mod 1000
      End If
      End If
      If cantm > 0 Then
      If cantm >= 100 Then
      cantlm = cantlm & Cientos(cantm)
      Else
      If cantm >= 10 Then
      cantlm = cantlm & Decenas(cantm, cantm Mod 10)
      Else
      cantlm = cantlm & Unidades(cantm, 1)
      End If
      End If
      End If

      letras = cantlm & " PESOS " & cents1 & "/100 M.N."

      End Function

      Sub prueba()
      Dim res As String, num As Single
      num = 50899697.51
      res = letras(num)
      End Sub

      dps veo si funciona....

      Comentario

      Trabajando...