>Another try. Maybe you loose precision in intermediate calculations. Try use everywhere Double data type (or Decimal, if your calculations allow this) instead of Currency or Single.
Everything is already double and I keep only 2 digits.
dblPaidIn = Format(dblUnits / (dblUnitsTotalEnd + dblUnits) * dblPaidInTotal, "0.00")
Remember, the exact same program is running on another PC!
Éric Moreau, MCPD, Visual Developer - Visual Basic MVP
Conseiller Principal / Senior Consultant
Moer inc.
http://www.emoreau.com