como distribuir un monto en catidades monetarias

30/06/2006 - 23:26 por Cesar Portilla | Informe spam
Hola necesito una formula o macro que me ayude a distribuir o desglosar el
monto que voy a pagar.
necesito que me distribuya el monto en la cantidad de billetes de 20.000,
10.000, 5.000, 2.000, 1.000, 500, 100, 50 respectivamente, ejemplo:
monto de Bs. 102.500, yo quiero que la macro me diga cuantos billetes de
20.000, 10.000 etc

Preguntas similare

Leer las respuestas

#6 Hernandez, Roberto
01/07/2006 - 19:14 | Informe spam
Hola César, te mando el código de algo que yo uso.
Péga el código en el editor de VBA, en la hoja donde quieres que funcione
Escribes en A3 la cantidad a desglosar y en B3 te pone el desgloce.
Sólo tendrías que adaptarla a tu denominación de moneda.


'***************************************************

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> ("$A$3") Then Exit Sub

Range("B3:c19").ClearContents

nomina = Range("a3").Value
a1000 = Int(nomina / 1000)
nomina = nomina - a1000 * 1000
a500 = Int(nomina / 500)
nomina1 = nomina - a500 * 500
a200 = Int(nomina1 / 200)
nomina1 = nomina1 - a200 * 200
a100 = Int(nomina1 / 100)
nomina1 = nomina1 - a100 * 100
a50 = Int(nomina1 / 50)
nomina1 = nomina1 - a50 * 50
a20 = Int(nomina1 / 20)
nomina1 = nomina1 - a20 * 20
a10 = Int(nomina1 / 10)
nomina1 = nomina1 - a10 * 10
a5 = Int(nomina1 / 5)
nomina1 = nomina1 - a5 * 5
a2 = Int(nomina1 / 2)
nomina1 = nomina1 - a2 * 2
a1 = Int(nomina1 / 1)
nomina1 = nomina1 - a1 * 1
nomina1 = nomina1 * 100
d50 = Int(nomina1 / 50)
nomina1 = nomina1 - d50 * 50
d20 = Int(nomina1 / 20)
nomina1 = nomina1 - d20 * 20
d10 = Int(nomina1 / 10)
nomina1 = nomina1 - d10 * 10
d5 = Int(nomina1 / 5)
nomina1 = nomina1 - d5 * 5
d1 = Int(nomina1 / 1)
nomina1 = nomina1 - d1 * 1

x = 3

If a1000 > 0 Then
Range("b" & x).Value = a1000
If a1000 = 1 Then
Range("c" & x).Value = "Billete de 1000 Pesos"
Else
Range("c" & x).Value = "Billetes de 1000 Pesos"
End If
x = x + 1
End If

If a500 > 0 Then
Range("b" & x).Value = a500
If a500 = 1 Then
Range("c" & x).Value = "Billete de 500 Pesos"
Else
Range("c" & x).Value = "Billetes de 500 Pesos"
End If
x = x + 1
End If

If a200 > 0 Then
Range("b" & x).Value = a200
If a200 = 1 Then
Range("c" & x).Value = "Billete de 200 Pesos"
Else
Range("c" & x).Value = "Billetes de 200 Pesos"
End If
x = x + 1
End If

If a100 > 0 Then
Range("b" & x).Value = a100
If a100 = 1 Then
Range("c" & x).Value = "Billete de 100 Pesos"
Else
Range("c" & x).Value = "Billetes de 100 Pesos"
End If
x = x + 1
End If

If a50 > 0 Then
Range("b" & x).Value = a50
If a50 = 1 Then
Range("c" & x).Value = "Billete de 50 Pesos"
Else
Range("c" & x).Value = "Billetes de 50 Pesos"
End If
x = x + 1
End If

If a20 > 0 Then
Range("b" & x).Value = a20
If a20 = 1 Then
Range("c" & x).Value = "Billete de 20 Pesos"
Else
Range("c" & x).Value = "Billetes de 20 Pesos"
End If
x = x + 1
End If

If a10 > 0 Then
Range("b" & x).Value = a10
If a10 = 1 Then
Range("c" & x).Value = "Moneda de 10 Pesos"
Else
Range("c" & x).Value = "Monedas de 10 Pesos"
End If
x = x + 1
End If

If a5 > 0 Then
Range("b" & x).Value = a5
If a5 = 1 Then
Range("c" & x).Value = "Moneda de 5 Pesos"
Else
Range("c" & x).Value = "Monedas de 5 Pesos"
End If
x = x + 1
End If

If a2 > 0 Then
Range("b" & x).Value = a2
If a2 = 1 Then
Range("c" & x).Value = "Moneda de 2 Pesos"
Else
Range("c" & x).Value = "Monedas de 2 Pesos"
End If
x = x + 1
End If

If a1 > 0 Then
Range("b" & x).Value = a1
If a1 = 1 Then
Range("c" & x).Value = "Moneda de 1 Peso"
Else
Range("c" & x).Value = "Monedas de 1 Peso"
End If
x = x + 1
End If

If d50 > 0 Then
Range("b" & x).Value = d50
If d50 = 1 Then
Range("c" & x).Value = "Moneda de 50 Cts"
Else
Range("c" & x).Value = "Monedas de 50 Cts"
End If
x = x + 1
End If

If d20 > 0 Then
Range("b" & x).Value = d20
If d20 = 1 Then
Range("c" & x).Value = "Moneda de 20 Cts"
Else
Range("c" & x).Value = "Monedas de 20 Cts"
End If
x = x + 1
End If

If d10 > 0 Then
Range("b" & x).Value = d10
If d10 = 1 Then
Range("c" & x).Value = "Moneda de 10 Cts"
Else
Range("c" & x).Value = "Monedas de 10 Cts"
End If
x = x + 1
End If

If d5 > 0 Then
Range("b" & x).Value = d5
If d5 = 1 Then
Range("c" & x).Value = "Moneda de 5 Cts"
Else
Range("c" & x).Value = "Monedas de 5 Cts"
End If
x = x + 1
End If

If d1 > 0 Then
Range("b" & x).Value = d1
If d1 = 1 Then
Range("c" & x).Value = "Moneda de 1 Cts"
Else
Range("c" & x).Value = "Monedas de 1 Cts"
End If
x = x + 1
End If



End Sub


'*************************************************************

"Cesar Portilla" escribió en el
mensaje news:
Hola necesito una formula o macro que me ayude a distribuir o desglosar el
monto que voy a pagar.
necesito que me distribuya el monto en la cantidad de billetes de 20.000,
10.000, 5.000, 2.000, 1.000, 500, 100, 50 respectivamente, ejemplo:
monto de Bs. 102.500, yo quiero que la macro me diga cuantos billetes de
20.000, 10.000 etc
Respuesta Responder a este mensaje
#7 Pedro
02/07/2006 - 11:29 | Informe spam
Hola Hernandez, Roberto, muchas gracias por tu aportacion, he
adaptado tu codigo a mis necesidades y va de maravilla, pero le
he encontrado un error de calculo:
en A3 coloca la cantidad que quieras, menos ( 1,59 y 0,59 ) y le
añades 59 centimos, siempre te devuelve 1 moneda de 5 centimos y
3 de monedas de 1 centimo.

Tu que eres un experto te lo miras y nos comentas para corregir.

Muchas gracias
Respuesta Responder a este mensaje
#8 Hernandez, Roberto
03/07/2006 - 19:54 | Informe spam
Pedro, no entendí muy bien
Pongo una cantidad: 25
Menos 1.59 menos .59
Le añado .59

Me da 23.41

1 Billete de 20 Pesos
1 Moneda de 2 Pesos
1 Moneda de 1 Peso
2 Monedas de 20 Cts
1 Moneda de 1 Cts


Podrías explicarme un poco mas detallado...?


"Pedro" escribió en el mensaje
news:
Hola Hernandez, Roberto, muchas gracias por tu aportacion, he
adaptado tu codigo a mis necesidades y va de maravilla, pero le
he encontrado un error de calculo:
en A3 coloca la cantidad que quieras, menos ( 1,59 y 0,59 ) y
le añades 59 centimos, siempre te devuelve 1 moneda de 5 centimos
y 3 de monedas de 1 centimo.

Tu que eres un experto te lo miras y nos comentas para
corregir.

Muchas gracias

Respuesta Responder a este mensaje
#9 Manolo
04/07/2006 - 00:40 | Informe spam
Hola Gabriel, me parece bien tu aporte. Como no estaba planteada la
restricción de billetes no lo tomé en cuenta, pero puede suceder y es mejor
estar preparados.

Saludos

Manolo
"Gabriel Raigosa" escribió en el mensaje
news:
Saludos Manolo:

Bonita solución, te propongo una variante, tener una columna adicional que
sirva para restringir el maximo numero de billetes de una determinada
denominación,

En tu propuesta arranca con 5 billetes de 20.000, pero si por alguna razón
solo tenemos 2 billetes de 20.000 tu propuesta, cambiando la formula de


los
billetes de 20.000 por una constante "2", asigna inmediatamente mas


billetes
en otra denominación.

para no usar constantes en las celdas se podria poner una columna


adicional,
que en caso de estar la celda vacia el sistema permita la asignación segun
la formula, en caso contrario obliga el valor propuesto por el usuario.

Me gusto tu solución, ya la tengo en mis apuntes, la modifique un poco con
funciones logicas para la restricción, no es que me guste complicarme la
vida, es que me gusta plantear mas soluciones y adicionar mas


posibilidades.

ODIO EL EXCEL 2007...
Gabriel Raigosa
Medellín - Colombia

news://msnews.microsoft.com/
news://msnews.microsoft.com/microso...c.es.excel

"Manolo" escribió en el mensaje
news:
> Hola César, no es una macro pero de repente te sirve. En la columna A
> desde
> A2 hasta A9 pon los valores de los billetes (20000, 10000, ...50). En B1
> pones el monto que quieres distribuir, en B2 va la siguiente fórmula:
>
> =TRUNCAR($B$1/A2)
>
> En B2 esta otra fórmula:
>
> =TRUNCAR(($B$1-SUMAPRODUCTO($B$2:B2,$A$2:A2))/A3)
>
> copias la fórmula hasta B9
>
> Ojalá te ayude
>
> Manolo
> "Cesar Portilla" escribió en


el
> mensaje news:
>> Hola necesito una formula o macro que me ayude a distribuir o desglosar
>> el
>> monto que voy a pagar.
>> necesito que me distribuya el monto en la cantidad de billetes de


20.000,
>> 10.000, 5.000, 2.000, 1.000, 500, 100, 50 respectivamente, ejemplo:
>> monto de Bs. 102.500, yo quiero que la macro me diga cuantos billetes


de
>> 20.000, 10.000 etc
>
>


Respuesta Responder a este mensaje
#10 Pedro
04/07/2006 - 00:53 | Informe spam
Perdona por no haberme explicado bien.

Por ejemplo pon 12,59

te devuelve:
1 Moneda de 10 Euros
1 Moneda de 2 Euros
1 Moneda de 50 Cts
1 Moneda de 5 Cts
3 Monedas de 1 Cts

Falta 1 centimo.

15,59 1 Moneda de 10 Euros
1 Moneda de 5 Euros
1 Moneda de 50 Cts
1 Moneda de 5 Cts
3 Monedas de 1 Cts


Como te dije solo funciona bien con las cantidades: 1,59 y 0,59

Saludos y espero tu solucion
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida