Spreadsheets, by themselves, are indeed amenable to re-use. However, without a third-party package, documentation of the Excel equations is problematic. What distinguishes a reusable item is whether you can pick it up 1 or 2 yrs from now, and be able to use it, or understand what to modify, without completely re-engineering the sheet.
What makes Mathcad or Matlab better in that regard is that you have to name everything from the get-go, so if the variable names are sufficiently lucid, the sheet is almost self-documenting. In the case of Mathcad, since the equations are in a recognizable graphic format, re-using, or modifying, such a sheet after a long break is relatively easier. Doing the same in Excel is obviously possible, but requires doing extra work and discipline.
Additionally, in Mathcad, units are directly incorporatible in the equations, so if your next job comes with parameters in different units, your sheet can potentially swallow the new parameters without any modification to the sheet. This is, oddly, particularly useful in the defense procurements, because even though the Government has mandated metric units, specifications STILL come in with yds, meters, nautical miles, and km all in the same document. Neither Matlab nor Excel natively support transparent usage of units.
While VBA has its place, putting calculation routine in VBA has potential pitfalls:
> VBA is interpreted, and can run slower than built-in functions or the equivalent functions coded directly in C.
> VBA functions will require detailed documentation, since it's abstraction into called functions means that you'll have seen the algorithm less often between any visits to the VBA code, putting you further back on the understanding slope, compared to an equation you see every time you do a calculation.
> As with Excel and Matlab, handling of units requires extra processing, either manually, or with additional code. This also require additional documentation to ensure that when you use the function a year later, that you have the right units system in mind.
TTFN
FAQ731-376