Tami much prefers to have "Set Precision As Displayed" enabled for all of her workbooks. She does payroll and works with dollars for all calculations. When this setting is not in force and she manually uses a calculator to double-check the math in the worksheet, it's often off by a few cents. The only solution is if the setting is turned on; then everything matches. It is a hassle to do this with every single workbook Tami creates, so she's hoping there is a way to have this setting turned on permanently.
There is no way to turn it on permanently within Excel itself, but you can do so with macros. For instance, you could add the following macro to a workbook:
Private Sub Workbook_Open()
ThisWorkbook.PrecisionAsDisplayed = True
End Sub
The macro should be placed in the This Workbook module, so it will run every time the workbook is opened. You could, if you want, also add this to a new, blank workbook and then save that workbook as a template named Book.xltm in the XLStart folder. Doing so specifies, for Excel, the default template you want to use when creating a new workbook. Thus, all new workbooks would include this simple one-line macro to set the precision.
Now, that being said, many people strongly advise against even turning on the Set Precision As Displayed option. Why? Because it permanently affects the data in your workbook. For instance, try this little exercise:
Those last digits (456) are now gone and lost forever; they cannot be recovered. It may be better to adjust your formulas to include the ROUND function so that rounding to 2 decimal places is done only in those instances where you need it done, instead of everywhere.
If you do decide you want to use Set Precision As Displayed, you might be better served to set up an easy way to change the setting on a workbook-by-workbook basis. This could be done with a single macro added to your Personal workbook:
Sub TogglePrecision()
Dim sTemp As String
sTemp = "Precision as Displayed has been "
With ActiveWorkbook
If .PrecisionAsDisplayed Then
.PrecisionAsDisplayed = False
sTemp = sTemp & "DISABLED"
Else
.PrecisionAsDisplayed = True
sTemp = sTemp & "ENABLED"
End If
End With
MsgBox sTemp
End Sub
Now you can add the macro to your Quick Access Toolbar and click it to turn the setting on and off. The macro just toggles the setting from what it is currently set to, and then displays a message indicating the newly changed state of the setting.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13765) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, and Excel in Microsoft 365.
Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel Data Analysis and Business Modeling today!
Virtually everyone depends on Excel to automatically recalculate a workbook as edits are made. If it isn't done ...
Discover MoreExcel can recalculate your worksheets either automatically or manually. The default is to calculate them automatically, ...
Discover MoreDo you want page breaks displayed on the screen? Excel allows you to specify whether it should show those page breaks or not.
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2026-06-17 15:07:08
J. Woolley
My Excel Toolbox includes the PrecisionAsDisplayed() function to return the status of a workbook's calculation precision (TRUE if 'AsDisplayed' or FALSE if 'Standard'). Here's an example cell formula:
="Precision is " & IF(PrecisionAsDisplayed(), "'AsDisplayed'", "'Standard'")
My Excel Toolbox also includes the TogglePrecision macro to switch between the two possibilities; it supports Undo (Ctrl+Z).
Here are abbreviated versions of each procedure:
Function PrecisionAsDisplayed() As Boolean
If TypeOf Application.Caller Is Range Then 'cell formula
Application.Volatile
PrecisionAsDisplayed = _
Application.Caller.Worksheet.Parent.PrecisionAsDisplayed
Else
PrecisionAsDisplayed = ActiveWorkbook.PrecisionAsDisplayed
End If
End Function
Sub TogglePrecision()
Const myName = "TogglePrecision"
With ActiveWorkbook
.PrecisionAsDisplayed = (Not .PrecisionAsDisplayed)
MsgBox "Calculation precision is " _
& IIf(.PrecisionAsDisplayed, "'AsDisplayed'", "'Standard'")
End With
Application.OnUndo myName, (ThisWorkbook.Name + "!" + myName)
End Sub
See https://sites.google.com/view/MyExcelToolbox/
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2026 Sharon Parq Associates, Inc.
Comments