Sto provando a calcolare il numero di livelli in cui una merce verrà impilata. Ho una quantità variabile (iQty
), una larghezza determinata per il letto di carico (dRTW
), una larghezza per unità per la merce (dWidth
) e una quantità per strato (iLayerQty
).Arrotondare al più alto numero intero più vicino in VBA
La quantità per strato è calcolato come iLayerQty = Int(dRTW/dWidth)
ora devo dividere il quantitativo totale per la quantità per strato e arrotondare. In una formula di Excel sarebbe facile, ma sto cercando di evitare le chiamate di WorksheetFunction per minimizzare la confusione A1/R1C1. Al momento sto approssimare con questo:
(Number of layers) = ((Int(iQty/iLayerQty) + 1)
E questo funziona bene più parte del tempo - tranne quando i numeri danno un numero intero (una larghezza di carico di 0,5 m, per esempio, il montaggio su un 2,5 m rolltrailer). In quei casi, naturalmente, aggiungendo quello si rovina il risultato.
C'è qualche modo pratico per modificare questa formula per ottenere un arrotondamento verso l'alto migliore?
usare 'WorksheetFunction.Ceiling()' – Vasily
Ma questa è anche una funzione di foglio di lavoro - quindi potrei anche usare semplicemente Roundup. Detto questo, dopo aver consultato Ceiling, penso che potrebbe essere utile per un'altra cosa su cui ho lavorato - grazie! –
'Ceiling' è una variante un po 'estesa di' roundup', è possibile specificare il passo di arrotondamento, è per questo che l'ho proposto. – Vasily