欧元符号未显示(VBA)

时间:2016-04-19 18:26:18

标签: excel vba excel-vba

我试图编写一个检查输入(货币)的If语句,然后将正确的符号分配给美元金额。我的代码如下,除欧元外,每种货币都有效,只有在美元金额是字母而不是数字时才有效。我错过了一些明显的东西吗?

If Note_Currency = "" Then
    Note_Denomination = "$" + Note_Denomination
ElseIf Note_Currency = "EUR" Then
    Note_Denomination = "€" + Note_Denomination
ElseIf Note_Currency = "JPY" Then
    Note_Denomination = "¥" + Note_Denomination
ElseIf Note_Currency = "GBP" Then
    Note_Denomination = "£" + Note_Denomination
Else
    Note_Denomination = "$" + Note_Denomination
End If

2 个答案:

答案 0 :(得分:2)

使用+连接字符串和数字是个坏主意。相反,你应该使用&。

http://www.tutorialspoint.com/vba/vba_concatenation_operators.htm

答案 1 :(得分:2)

好的,所以我想出来了 - 有点儿。我在Excel中试过你的sub,同样的事情发生在我身上。使用符号和Chr(128)只显示一个空白单元格。

我发现有用的是,如果您知道具有这些数字的范围,请将单元格的格式类型更改为文本(@):

Range("A1:A100").NumberFormat = "@"

然后,当您运行代码时,如果您使用Note_Denomination = Chr(128) & Note_Denomination,则会显示欧元符号。

所以,看起来原因不是代码,而是单元格格式。