To use the Excel sheet set the correct pathes for the DLL in VBA.
It might be helpfull to read the inline comments in the VBA modules,
and i give a short overview here.
The actual integration is done in the DLL. It uses adaptive Gauss-Kronrod
15-point rules for finite or semi-infinite intervalls (for example have a
look for the GSL docu, it uses QUADPACK in C). That is 'known' to be a good
working horse.
The integrand is defined in Excel VBA. The operator AddressOf is used to
have a function pointer in the DLL which by call back allows to evaluate
the function for integration in Excel and send the cumulative result to
VBA. Exactness & errors also depend on how Excel cares for its function.
This approach i have seen in the NAG examples connecting to VB.
Within the VBA project the method is explained by several examples and
also shows some 'ugly' cases (like boundary singularities (some are
removable (or not)) for f and its derivative) and looks for performance.
Do not expect that all pathologies are covered by that two integrators.
The other thing is to hand over function as expression strings (Excel does
not know function pointers and does not accept function as arguments).
Usually one needs a parser for that (http://digilander.libero.it/foxes/
has some for VB and for C(++) there are others). Since VBA is not compiled
it has a build-in method 'evaluate' which allows a simple work-around.
For this the variable is named @x (if you prefer a different naming then
just change the code in an obviuos way).
Both - function expressions and numerical integration - are combined to
have an integrator accepting function as arguments within an Excel sheet.