如何在Visual Basic编辑器中键入Unicode货币字符



有一个项目需求,我们需要检查一个单元格的货币类型。

我在这个论坛上遇到了一个类似的问题(如何检查单元格是否格式化为货币?)。它解释了如何为$符号做到这一点。但是我无法在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"

希望这对你有帮助。

最新更新