2

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

我在这个论坛上遇到了一个类似的问题(如何检查单元格是否被格式化为货币?)。它解释了如何为$符号执行此操作。但我无法$在 Visual Basic 编辑器中用其他货币符号(例如印度卢比、欧元等)替换该符号。要在 VBE 中使用其他符号,我尝试了以下方法:

  • 使用 Insert->Symbol 选项在 Excel 中插入符号。
  • 将符号复制粘贴到 VBE 中。

但它像?在 VBE 中一样粘贴。

请帮助我在 VBE 中使用货币符号。如果上述方法不可行,请建议一种方法来识别单元格的货币类型。

4

2 回答 2

5

VBA 编辑器不是 Unicode。

为了在其中包含 Unicode 字符,您需要使用ChrW$,例如

Dim Rupee As String
Rupee = ChrW$(&h20A8&)

另请参阅VBA 中的 Unicode 字符串文字

于 2014-08-12T09:23:02.213 回答
-1

我有一个改进的答案版本......使用以下代码选择印度卢比符号,格式为千亿格式,与百万格式的区域设置无关。

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"

希望这可以帮助。

于 2018-05-14T14:32:41.630 回答