If someone finds this answer years later, like I did, use chrW(128)
instead of chr()
, that forces Unicode character. If it matches what Excel expects for a currency format it will still recognize the cell as currency.
For example:
Range("A1:A100").NumberFormat = " $" & ChrW(128) & " #,###.00";