欧元符号不显示(VBA)

我试图写一个If语句来检查一个input(一个货币),然后把正确的符号分配给美元金额。 我的代码如下,除欧元外,每种货币都是有效的,只有当美元金额是字母,而不是数字时,这个function才有效。 我错过了什么明显的?

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 

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

我发现的工作是,如果你知道你的范围将有这些数字,更改单元格的格式types为文本( @ ):

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

然后,当你运行你的代码时,如果你使用Note_Denomination = Chr(128) & Note_Denomination ,欧元符号就会出现。

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

它VBA这是一个坏主意,串联一个string和一个数字使用+。 相反,你应该使用&。

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