Philosophy: Models can be different:
(1) simple formula, no Add-In
(2) named formula
(3) array formula
(4) Add-In function
(5) VBA (Basic) function, user defined
(6) Excel4Makro function, user defined
(7) VBA (Basic) procedure (Sub)
(8) Excel4Makro procedure
(9) .DLL or other external modules
All of the above can be mixed at model or formula level.
Comparison:
The following is a negotiable table without any reference, since it could be subject to hard fights between evangelists of the 9 methods above. At least, I did not include any weighing :-)
poor..... .... ok....... .... fine..... ability ............. ......... 1234..... ....56789 elegance of design .. 1........ ......... .23456789 flexibility ......... ......... 1234....9 ....5678. comprehensibility ... ..3...... 12....... ...456789 length .............. 1........ ..3...... .2.456789 performance ......... ..3...... 12.456... ......789 need of memory ...... 12....... ..3...... ...456789 language portability ...4..... ......... 123.56789 program portability . .2345.7.. .....6.8. 1.......9 external dependency . ...4....9 ......... 123.5678. security (viruses) .. ...45.7.9 .....6.8. 123...... safety of property .. 12..5678. ..34..... ........9 expense of making ... ....56789 ..3...... 12.4.....
Language portability means multilingual use of one platform.
Program portability means cross platform (f.e. Excel and Open Office) use.
Compatibility:
+-----------------------------------------------------+ |Excel: | |Named formulas with or w/o Excel4 Macro Functions | |Excel-Add-Ins | +---------------------------+-------------------------+ |Excel, Open Office: |Excel, SpreadCE: | |Array Formulas |Excel4 Macros (Fct.+Prg) | |VBA oder anderes Basic | | +---------------------------+-------------------------+ |Excel, Open Office, SpreadCE, Lotus: | |Simple Formulas | |Usage of .DLL or .XLL | +-----------------------------------------------------+
In this overview you see exclusivities of program combinations, viewed from Excel. Lotus Macros or procedures are not commented.
Even simple formulas surprise: 5011 does not work under Open Office. SpreadCE works w/o problems (for NU=0).