xl Precision
Get Your Numbers Right

 

Troubleshooting F.A.Q.

 

I'm trying to install xlPrecision, but I'm getting weird error messages.

On Windows NT, 2000, XP and Vista, you must be logged in as an Administrator during installation. On Windows Vista, start Setup by right-clicking xlPrecision_2.0.exe and choosing "Run as administrator".

After installation, you no longer need to be logged in as an Administrator.

 

I'm trying to install xlPrecision, and I'm getting the error message:

Set up cannot install system files or update shared files if they are in use. Before proceeding, we recommend that you close any applications you may be running.

Reboot the computer, and install xlPrecision before running anything else.

If that doesn't work, reboot the computer into Safe Mode, and install xlPrecision before running anything else.

 

I'm trying to install xlPrecision, and I'm getting the error message:

Setup cannot continue because some system files are out of date on your system. Click OK if you would like setup to update these files for you now. You will need to restart Windows before you can run setup again. Click cancel to exit setup without updating system files.

However, even though I click OK and it reboots, it always comes back to the same error message again.

There are various reasons why this could happen. To fix the problem, I suggest starting with the steps in the Microsoft Knowledge Base article Q191096. If that doesn't resolve the problem, let me know and I'll see what else we can do.

One person who encountered this problem on Windows 2000 resolved it with these steps:

 

I'm evaluating the Free Edition. The xlpTEST() function returns "#NAME!".

In Excel's list of add-ins, make sure xlPrecision is listed and checked.

In Excel 2003, see Tools | Add-ins. In Excel 2007, see Office button | Excel options | Add-ins | Manage: Excel Add-ins | Go.

If xlPrecision is listed there but not checked, check it on. If it is not listed, click Browse and browse to it, and then make sure it is checked on.

 

I'm evaluating the Free Edition. The xlpTEST() function works correctly, but other functions return error messages.

You probably need to use a different character than the comma (,) to separate the arguments. Use whatever character you normally use to separate arguments in Excel functions. In many areas of the world, that character is a semi-colon (;).

Try entering this formula:

=SUM(1,1)

Does it return an error? What about "=SUM(1;1)"? Whatever character works with Excel's built-in SUM function is the character you'll need to use with xlPrecision functions.

If you're not sure, go into Windows' Regional/Language Options Control Panel and find your "List Separator" character. Use that character wherever xlPrecision documentation shows a comma.

 

I'm evaluating the Free Edition. I want to test a series of formulas in 50 cells, but I don't want to take the time to enter all the text in the pop-up windows that would result.

Enter the formulas one at a time. After each entry, copy the cell and choose Paste Special | Values. When the pop-ups become annoying, restart Excel.

Alternatively, send me a sample worksheet and I'll run it for you. I'll Copy / Paste Special | Values all the xlPrecision formulas (so that you can see the results without having to calculate them on your machine), and return the worksheet to you.

 

I paid for a paid version of xlPrecision several minutes ago. Where is it?

Turnaround time is normally a day or two. My payment processing company, PayPal, accepts your payment and sends me an email with your order. Once I see that email, I create your file and email it to you.

 

I bought a paid version of xlPrecision, received it in email, and transferred it to my hard drive. But when I enter an xlPrecision formula, I get "#NAME!" instead of the correct return value.

The paid versions require the supporting files installed by the free edition. Please ensure that you have installed the free edition, and reinstall it if necessary. If the free edition isn't working, the paid versions won't be able to work either.

 

I installed the free edition of xlPrecision, but I still only have 15 significant digits of precision in Excel.

Using xlPrecision requires modifying your worksheet formulas by replacing Excel's built-in operators and Sum() function with xlPrecision's custom worksheet functions. For details please see the Quick Tutorial.

 

I installed the free edition of xlPrecision, but when I enter an xlPrecision formula, it returns "#NAME!" instead of the correct return value.

In Excel, choose Tools | Add-Ins and ensure that xlPrecision is listed and checked. If it is not listed, click Browse, browse to C:\Program Files\xlPrecision (or wherever you installed xlPrecision), and double-click on xlPrecision.xla.

If xlPrecision is listed and checked in Add-Ins, and it still doesn't work, reinstall the free edition of xlPrecision.

 

My anti-virus software wants to remove a file that I don't recognize. How do I know it isn't an xlPrecision file?

Here is a list of all the files xlPrecision needs, in alphabetical order:

ASYCFILT.DLL
COMCAT.DLL
itird.dll
itss.dll
hh.exe
hhctrl.ocx
msvbvm60.dll
OLEAUT32.DLL
OLEPRO32.DLL
RICHED32.DLL
RICHTX32.OCX
ST6UNST.EXE
STDOLE2.TLB
VB6STKIT.DLL
xlPrecision.chm
xlPrecision.dll
xlPrecision.xla

 

 

I installed xlPrecision and it's working fine in new formulas. But it doesn't give me higher precision in Excel's built-in functions, and in custom functions provided by another Excel Add-In I bought.

xlPrecision replaces mathematical operators -- "+", "-", "*", "/" -- with worksheet functions. Other worksheet functions, whether built-in or provided by an add-in, do not use the xlPrecision worksheet functions, and so do not gain precision from them.

If you're building a cell formula that uses other worksheet functions, and use xlPrecision functions instead of operators in the formula, then you gain precision between those other functions, but not within them.

It's possible for add-in worksheet functions to use xlPrecision instead of operators. xlPrecision, once installed, includes a DLL that can be called by other programming code, including the programming code that is used to build add-in worksheet functions. If that code uses xlPrecision functions instead of mathematical operators, it can gain precision. Unless, of course, that same code also calls other functions that, in turn, use mathematical operators, at which point the extra precision is discarded.

Microsoft is unlikely to ever be interested in using xlPrecision to add high precision to Excel's built-in formulas. However, in a future version of xlPrecision I plan to duplicate all of the relevant built-in Excel functions with equivalent high-precision xlPrecision functions.

If you want high precision in custom functions provided by another Excel Add-In, you might want to contact the authors of that other Add-In and suggest that they use xlPrecision in a future version. For information on how the programming code that is used to build add-in worksheet functions can call xlPrecision functions to gain precision, click here.

 

When I enter this formula:

=xlpADD(".999999999999999999999999999999",1)

It returns "1.999999999999999999999999999999", as expected. But when I try to reduce precision to 20 significant digits, like this:

=xlpADD(".999999999999999999999999999999",1,,,,20)

It just returns "2". What happened to the high precision?

That's actually the correct high-precision result. If we limit 1.999999999999999999999999999999 to 20 significant digits, 2.0000000000000000000 is closer to 1.999999999999999999999999999999 than 1.9999999999999999999 would be. 2.0000000000000000000 is the closest that 20 significant digits can get to 1.999999999999999999999999999999. Of course, 2.0000000000000000000 is exactly the same as simply "2".

You can see the high precision if you change the formula to this:

=xlpADD(".888888888888888888888888888888",1,,,,20)

That formula returns 1.8888888888888888889, which again is the closest that 20 significant digits can get to 1.888888888888888888888888888888.

 

When I multiply two very large numbers, it returns "#VALUE!".

If the return value, including formatting options, has more than 32,767 digits and other characters to the left of the decimal, xlPrecision can only return a correct answer in exponential notation. Try changing those formulas to format their return value in exponential notation. For example, change this:

    =xlpMULTIPLY(A1,B1)

To this:

    =xlpMULTIPLY(A1,B1,,,,1)

Note, there are 4 (four) commas between the "B1" and the "1" in that example.

 

I get a maximum of only 100 digits from xlPrecision formulas. My xlPrecision edition should allow more than 100.

xlPrecision functions default to 100 significant digits if not specified in the maximum_significant_digits argument of the function. To get more than 100 digits with an xlPrecision edition that allows more, enter a higher number in the maximum_significant_digits argument. For example, to specify 2,000 significant digits on an xlPrecision edition that allows that many, change this:

    =xlpMULTIPLY(A1,B1)

To this:

    =xlpMULTIPLY(A1,B1,,,,,2000)

Note, there are 5 (five) commas between the "B1" and the "2000" in that example.

 

I get a maximum of only 1,000 digits from xlPrecision formulas. My xlPrecision edition should allow more than 1,000.

Although Microsoft Excel allows up to 32,767 text characters in a cell, it normally displays only the first 1,000 of them. To view an entire xlPrecision return value longer than 1,000 characters, do any of the following:

Although Excel displays only the first 1,000 characters in the cell, it makes all the characters available to formulas in other cells, including xlPrecision formulas. The display of only 1,000 characters does not indicate any loss of precision in xlPrecision formulas.

 

I'm trying to enter a long formula with xlPrecision functions, and I get a message that the formula contains an error. When I click OK, one of the xlPrecision functions is highlighted. The same formula with Excel's built-in operators (instead of xlPrecision functions) works fine. If I calculate each function individually in the formula bar with F9, each one calculates correctly, and I get the correct final result.

This happens if more than 7 levels of functions are nested, or a total of more than 8 levels including the outer function. The function Excel highlights after you click OK is usually the 9th level (8th nested level). This limitation is noted in Excel 2003's online help under "Excel specifications and limits" | "Calculation specifications" | "Nested levels of functions".

A "nested" function is one which is used as an argument for another function. For example, in this formula, SUM is nested within IF:

    =IF(SUM(1,1),1)

A maximum of 7 nested levels, or 8 total levels including the outer function, are allowed by Excel:

    =IF(SUM(IF(SUM(IF(SUM(IF(SUM(1,1),1),1),1),1),1),1),1)

This Excel limitation applies to all functions, whether built into Excel or added by add-ins such as xlPrecision. The limitation is the same whether all nested levels are the same function or any combination of functions.

Since this limitation does not affect Excel's built-in operators (+, -, *, /, ^, =, >, <, etc.), some very long formulas that work correctly with Excel's built-in operators must be split out into multiple formulas when converting the formula to use xlPrecision operator functions.

Usually the simplest and most low-maintenance solution is to simply split out the formula into multiple cells. Another solution is to create short defined names with self-contained portions of the desired formula, where each self-contained portion has at least one nested level though no more than seven, then use the defined names in the cell's formula. See the next question for an example, though that example doesn't show nesting functions in the defined name.

 

I'm trying to enter a long formula with xlPrecision functions, and I get a message that the formula is too long. The same formula with Excel's built-in operators (instead of xlPrecision functions) works fine.

Although Microsoft Excel can return up to 32,767 characters as text from a formula, it allows only 1,024 characters in the formula itself. This is noted in Excel 2003's online help under "Excel specifications and limits" | "Calculation specifications" | "Length of formula contents".

Since xlPrecision's operator functions (xlpADD, xlpISGREATER, etc.) are unavoidably more verbose than Excel's built-in operators (+, >, etc.), you cannot have as many xlPrecision operator functions in a single formula as you can with Excel's built-in operators.

Usually the simplest and most low-maintenance solution is to simply split out the formula into multiple cells.

Another solution is to create short defined names with self-contained portions of the desired formula, then use the defined names in the cell's formula. For example:

 

I want to divide large numbers using VBA in Word 2003, is it possible with xlPrecision?

Yes, you can use xlPrecision in Word VBA. You can also use it in PowerPoint VBA, Outlook VBA, Access VBA, Project VBA, FrontPage VBA, Publisher VBA, Visio VBA, and any other VBA. You can use xlPrecision in any code that can call a COM (ActiveX, OLE) server. See:

Use xlPrecision in VBA

 

I'm using the 2,147,483,648 SD edition of xlPrecision in Word 2003 VBA, and I'm not getting as many digits as I should.

Word VBA's TypeText method is limited to 64k, which on unicode versions of Word (such as Word 2003) is 32,767 characters. If you exceed that, it starts over; for example, if you give it 32,769 characters, it returns only the first 2 characters (32,769 - 32,767 = 2).

To work around that limitation, use Word VBA's InsertBefore method instead of TypeText. Or, if InsertBefore doesn't suit your needs, another approach would be to loop through the text 32,767 characters at a time, using Mid to get a 32,767-character chunk, and doing a TypeText on that chunk, each time through the loop.

 

 

 

xlPrecision Home Page