Hi Davejago
I use the same thing in one of my spreadsheets. In the worksheet code I have this:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Currency_Calc
End Sub
Then in a module
Sub Currency_Calc()
With ActiveWorkbook.Styles("Currency")
.IncludeNumber = True
.IncludeFont = False
.IncludeAlignment = False
.IncludeBorder = False
.IncludePatterns = False
.IncludeProtection = False
End With
If UCase([a1]) = "€" Then
ActiveWorkbook.Styles("Currency").NumberFormat = _
"[$€-2]#,##0_ ;[Red]-[$€-2]#,##0"
Else
ActiveWorkbook.Styles("Currency").NumberFormat = _
"[$£-2]#,##0_ ;[Red]-[$£-2]#,##0"
End If
End Sub
So when I change the value of cell A1 to a € it changes all currencys to that symbol with the correct formatting.
You would need to amend the macro to add in Dollar etc etc..
Let me know if you need more help. Jamie