Ich versuche zu berechnen, auf wie viele Ebenen eine Ware gestapelt wird. Ich habe eine variable Menge ( iQty
), eine gegebene Breite für die Ladefläche ( dRTW
), eine Breite pro Einheit für die Ware ( dWidth
) und eine Menge pro Layer ( iLayerQty
).
Die Menge pro Schicht wird als iLayerQty = Int(dRTW/dWidth)
Jetzt muss ich die Gesamtmenge durch die Menge pro Schicht teilen und aufrunden. In einer Excel-Formel wäre es einfach, aber ich versuche, WorksheetFunction-Aufrufe zu vermeiden, um A1 / R1C1-Verwirrung zu minimieren. Im Moment approximiere ich es mit diesem:
%Vor%Und das funktioniert gut das meiste der Zeit - außer wenn die Zahlen eine ganze Zahl geben (eine Frachtbreite von beispielsweise 0,5 m, die auf einen 2,5 m Rolltrailer passt). In diesen Fällen ruiniert natürlich das Hinzufügen das Ergebnis.
Gibt es irgendeine praktische Möglichkeit, diese Formel zu optimieren, um eine bessere Aufwärtsrundung zu erhalten?
Wenn Sie ein WorksheetFunction-Objekt verwenden, um auf ROUNDUP oder CEILING Funktion ist aus dem Tisch, dann kann das gleiche mit etwas Mathematik erreicht werden.
%Vor%Ein VBA True ist das Äquivalent von (-1), wenn es mathematisch verwendet wird. Die VBA-Runde ist da, um 15-stellige Fließkommafehler zu vermeiden.