by Allen Wyatt
(last updated July 2, 2016)
Allen is a Canadian Excel user who often downloads large amounts of statistical data from European sources, thereby experiencing the usual problems with decimals and thousands separators being reversed. This requires some fancy manipulation to change to North American style and often results in mistakes. Allen could change the settings on his entire system, but then his North American numbers (in other workbooks) are screwed up. He wonders if there is some way to change just one file at a time.
How numbers are displayed depends on the Regional Settings maintained in Windows. If you change the Regional Settings, then Excel adopts those settings and displays information differently. So, for instance, if I create a workbook here in the United States, and someone opens that workbook in a location that uses different Regional Settings, then they will see my numbers according to their Regional Settings, not according to the settings of the United States.
If this is not happening, then it could be that the person who created the workbook configured Excel to ignore the Regional Settings. You can do that in this manner:
Figure 1. The Editing Options settings in Excel.
Note the setting of the Use System Separators check box. If this check box is selected (which it is by default), then Excel uses the settings maintained in Windows' Regional Settings area. If you clear this check box, then Excel will use whatever characters you specify in the Decimal Separator and Thousands Separator boxes.
If you want to modify the separators on a workbook by workbook basis (as Allen apparently wants to do), then the easiest way is to use a macro. For instance, the following event-handler macros, when included in the ThisWorkbook module, will change these settings whenever you make the workbook active.
Private Sub Workbook_Activate() Application.DecimalSeparator = "," Application.ThousandsSeparator = "." Application.UseSystemSeparators = False End Sub
Private Sub Workbook_Deactivate() Application.UseSystemSeparators = True End Sub
Note that the macro changes the decimal and thousands separators and then clears the Use System Separators setting. When the workbook is left (when a different workbook receives focus), then the Use System Separators setting is again set.
If you prefer to change information on the fly rather than automatically, you could use this quick little macro. When you assign it to the Quick Access Toolbar you can click it to switch between two different sets of separator values.
Sub ToggleSep() Dim bCurrent As Boolean bCurrent = Application.UseSystemSeparators If bCurrent Then Application.DecimalSeparator = "," Application.ThousandsSeparator = "." Application.UseSystemSeparators = False Else Application.UseSystemSeparators = True MsgBox "Now Using System Separators" End If End Sub
The macro displays a message when it "returns" to the default of using the system separators defined within Windows.
You should note that everything discussed in this tip assumes that any cells containing numbers are not formatted with some custom format that overrides how Excel uses the separators. Any custom formats always take precedence. Thus, if you see no change after adjusting the separators used by Excel, then you'll want to check to see how the actual cells are formatted.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13453) applies to Microsoft Excel 2007, 2010, 2013, and 2016.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!
Adding borders around cells is a common formatting task. You can make the task more intuitive by actually drawing the borders ...Discover More
There are many ways that Excel allows you to highlight information in a cell. This tip examines a way to highlight values ...Discover More
Excel allows you to apply several types of alignments to cells. One type of alignment allows you to indent cell contents from ...Discover More
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.