Dividir Numero en partes proporcionales

Iniciado por DIOrain, 15 Abril 2015, 16:04 PM

0 Miembros y 1 Visitante están viendo este tema.

DIOrain


Necesito dividir un número en partes proporcionales dependiendo de un múltiplo dado por un contenido, por ejemplo:

Una caja debe contener 100 piezas. Se fabricaron 480 piezas. Necesito mandar a imprimir 4 etiquetas para cada caja y dejar el sobrante de 80 solo como registro, sin imprimir.

Básicamente quiero que una MACRO se registren estas piezas y se envien a imprimir las etiquetas necesarias dependiendo del numero de piezas registradas y la cantidad que debe de llevar la caja.

A alguien se le ocurre un código para hacer esto?

Agradeceré mucho cualquier ayuda.

Saludos

engel lex

operación de resto o solo trabajar numero enteros

es decir

maximo = 480
lote = 100
sobran = maximo mod lote
(aqui resto vale 80)
cajas = entero(maximo/lote)
(aquí cajas vale 4)


es cosa que apliques ahora eso al lenguaje que trabajes
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DIOrain

Muchas gracias!
Podrías, si no es demasiado, poner un ejemplo en visual basic para excel?
Lo que pasa es que soy algo nuevo en estos menesteres...

Muchas gracias de cualquier modo por la respuesta, ya tengo una idea, ahora mi problema es la ignorancia del lenguaje.

Saludos

engel lex

te deje los nombres para que lo buscaras en google... no manejo VB
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

DIOrain

Entiendo, muchas gracias engel lex, así lo haré


Saludos

Shell Root

#5
Así por simple, podrías hacer algo como esto:

Linea 8: Me redondea el valor, lo hice a lo cavernicola y lo converti a string, tomo el primer valor y despúes converti a entero.
Código (vb,8) [Seleccionar]
Public Sub Init()
   Call PrintSticker(480, 100)
End Sub

Public Sub PrintSticker(CantMAX As Integer, CantLote As Integer)
   Dim CantRest As Integer
   Dim Box As Integer
   Box = CInt(Left(CStr(CantMAX / CantLote), 1))
   CantRest = CantMAX Mod CantLote
   
   MsgBox "Numero de cajas: " & Box & ". Residuo: " & CantRest
End Sub
' Numero de cajas: 4. Residuo: 80


Esperad los magos del VB que te den otra más optimizada.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.