har*_*ryg 4 excel vba number-formatting
这真的很烦我,因为它的工作方式似乎很不合逻辑.
我有一个宏来格式化单元格作为货币使用一些代码来获得货币符号.
这是涉及的代码:
Dim sym As String
sym = reportConstants(ISOcode)
'Just use the ISO code if there isn't a symbol available
If sym = "" Then
sym = ISOcode
End If
With range(.Offset(0, 3), .Offset(3, 3))
.NumberFormat = sym & "#,##0;(" & sym & "#,##0)"
Debug.Print sym & "#,##0;(" & sym & "#,##0)"
End With
Run Code Online (Sandbox Code Playgroud)
reportConstants是一个字典对象,货币符号定义为字符串.例如reportConstants("USD") = "$".这是在宏的早期定义的.
当宏运行时,它获取ISO代码,然后应使用相应的货币符号格式化单元格.
当我在一个实例中运行它时,ISO代码是"USD" - 因此sym定义为"$"- 但它仍然使用井号(£)格式化单元格.当我debug.print显示格式单元格字符串时$#,##0;($#,##0),只要我的语法正确,就应该在单元格中使用美元符号.但它使用的是£符号.(我正在运行英国版的excel,因此它可能默认为£-sign,但为什么呢?)
任何帮助非常感谢.
我刚刚录制了一个宏来将格式设置为$ xx.xx并创建了这个:[$$-409]#,##0.00.看起来-409将货币本地化到特定国家; 它没有它工作 - 尝试改变你的.NumberFormat = "[$" & sym & "]#,##0.00"
| 归档时间: |
|
| 查看次数: |
9764 次 |
| 最近记录: |