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.