Forum Discussion

AlexG112233's avatar
AlexG112233
Copper Contributor
Apr 03, 2025

Excel - Currency changes format by itself

Using Microsoft 365 Excel.

I have multiple tabs with columns, all with currency in those columns.

The currency formats I chose was as follows:

 

When I enter negative amounts, , I type a - then the amount, and the amount displays as such: 

which is what I want.  I save and close the file.

 

Usually, whenever I later open the file, everything is fine.

But every so often, and twice today already, when I open the file, the data now displays as:

 

 

When I then check the formats, I find the following:

I did not change the formatting.  I then have to change all the formatting for currency back to what I want and then save.  As I said, it's usually good for a while and then randomly, it reverts back to the format I do not want.

Any help/ideas/advice would be appreciated!

Thanks,

Alex

1 Reply

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Excel randomly reverting currency format (especially negative numbers) is a known annoyance, particularly in Microsoft 365/Office 365 where auto-updates, region settings, or shared workbooks can quietly reset your formatting.

     

    What you can maybe do…

    Turn Off Auto Format from External Sources

    File → Options → Advanced, Scroll to "Cut, copy, and paste"

    Uncheck: “Show Paste Options button when content is pasted”

     

    If It Still Reverts…

    Check Windows Locale (Regional Settings):

    Even if your Excel looks fine, Windows might be overriding it on file open.

    Go to: Control Panel → Region → Formats → Additional Settings → Currency tab

    Ensure:Currency symbol: $

    Negative currency format: -$1,234.56 or your preferred style.

     

    Try this format, maybe it helps…

    "$"#,##0.00;[Red]"-$"#,##0.00

     

    Or try to fix it with VBA

    Private Sub Workbook_Open()
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            With ws.Range("B:B") ' change as needed
                .NumberFormat = "$#,##0.00;- $#,##0.00"
            End With
        Next ws
    End Sub

    Don’t forget to Save the file as .xlsm

     

    My answers are voluntary and without guarantee!

     

    Hope this will help you.

Resources