Currency format Pivot fields with one click [Friday VBA]

Posted on October 7th, 2016 in Pivot Tables & Charts , VBA Macros - 4 comments

Anyone who has made a pivot table and their grandma knows that formatting them is a pain. Let’s recap the steps to apply one of the most common formats – currency format.

  1. Right click on any value field
  2. Go to Value field settings
  3. Click on “Number Format” button
  4. Choose Currency format
  5. Close the boxes, one after another

Unless you get paid per click, you wont be happy with all those clicks.

Wouldn’t it be cool to just click once and apply most common format to your pivot fields?

One Click pivot table currency format macro - demo

Of course you can. Just add oneClickCurrency macro to your personal macros workbook. And then add this to your Home ribbon as a custom button and you have a one click format option for any pivot.

one-click-currency-format-pivot-macro-v2

oneClickCurrency Macro

So are you ready for the code? Its so tiny, you could type it faster than manually formatting the pivot fields yourself 😉



Sub oneClickCurrency()
    On Error GoTo GameOver
    Dim pName As String, pfName As String
    
    pName = ActiveCell.PivotTable.Name
    pfName = ActiveCell.PivotField.Name
    
    With ActiveSheet.PivotTables(pName).PivotFields(pfName)
        .NumberFormat = "$#,##0.00"
    End With
GameOver:
End Sub

When copy pasting this code to your personal macros workbook, change the $#,##0.00 format code to any other formatting you want to use. Here are a few more common ones.

  • Accounting format (negative values in brackets, no zeros):  _($* #,##0.00_);_($* (#,##0.00);_($* “”-“”??_);_(@_)
  • Negative amounts in red color: $#,##0.00;[Red]$#,##0.00
  • Amounts with no decimals: $#,##0

So there you go. I just save you from a massive tax. Click tax that is.

George Costanzaesque macros for you

Short & fun, that is how I like my macros. Here are a few you should add to your personal macros workbook to save time & get more out of Excel.

How do you format your pivots?

For most of my work, I rely on Power Pivot, which allows you to set up format options when defining a measure. But whenever I use pivots, I end up paying click tax for the formatting. Hence the macro.

What about you? How do you format your pivots? You can customize the above macro to include additional steps that you often do (changing layouts etc.) Please share your techniques & thoughts in the comments section.

Written by Chandoo
Tags: , , , , , ,
Home: Chandoo.org Main Page
? Doubt: Ask an Excel Question

4 Responses to “Currency format Pivot fields with one click [Friday VBA]”

  1. Bertrand d'Arbonneau says:

    As in your example, I often find myselve having to format numbers as kU, MU,%, or increase/decrease decimals. In the PowerPivot utilities add-in, I have included several such formatting macros and made them available from the pivot table contextual menus. Thanks for you post. It reminds me that formatting as currency is *currently* missing.
    The add-in is free and the vba code open.
    https://www.sqlbi.com/tools/power-pivot-utilities/

  2. GraH says:

    I almost never format my pivot tables. I only format my final chart/table or whatever.
    And when I do format them, I go the long distance. Keeps my clicking ability in shape. 🙂

  3. Rudra M Sharma says:

    Just hover your pointer on field header, it turns into down arrow then click. Entire pivot field gets selected then click on currency($) symbol from home ribbon or Press Ctrl + $(Ctrl + Shift + 4).

Leave a Reply