有一个项目需求,我们需要检查一个单元格的货币类型。
我在这个论坛上遇到了一个类似的问题(如何检查单元格是否格式化为货币?)。它解释了如何为$
符号做到这一点。但是我无法在Visual Basic编辑器中用其他货币符号(例如印度卢比,欧元等)替换$
符号。要在VBE中使用其他符号,我尝试了以下操作:
- 使用Insert-> symbol选项插入Excel中的符号。 在VBE中复制粘贴符号。
但在VBE中粘贴为?
请帮我在VBE有货币符号。如果以上无法实现,请建议一种方法来识别单元格的货币类型。
VBA编辑器不是Unicode。
为了在其中包含Unicode字符,您需要使用ChrW$
,例如
Dim Rupee As String
Rupee = ChrW$(&h20A8&)
参见VBA中的Unicode字符串字面值
我有一个改进版本的答案…使用以下代码将选择转换为印度卢比符号,格式为Lakhs crores,您的区域设置为百万格式无关紧要。
Dim rs As String
rs = ChrW$(&H20B9&)
Selection.NumberFormat = "[>=10000000][$" & rs & "-ta-IN] ##,##,##,##0.00;[>=100000][$" & rs & "-ta-IN] ##,##,##0.00;[$" & rs & "-ta-IN] ##,##0.00"
希望这对你有帮助。