【发布时间】:2016-04-19 18:26:17
【问题描述】:
我正在尝试编写一个 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
【问题讨论】:
-
当你说它“不起作用”时,如果你单步执行代码,它会跳过那部分的
Then语句吗?还是它实际上执行了,但完成时Note_Denomination不正确? -
@BruceWayne 我为我的无知道歉,我是一个初学者,主要是自学,但你所说的“逐步执行代码”是什么意思?当我运行整个宏,输入货币为“欧元”时,它返回正确的美元金额,没有符号。
-
您可以在 VB 编辑器中使用
F8单步执行代码。快速检查:将欧元符号替换为“X”,看看它是否至少在前面放了一个“X”。如果是这样,那么也许它是符号本身。另外,我建议使用&连接字符串,而不是+。 -
@BruceWayne 是的,一旦我将符号更改为 X,它就可以工作(用于字母和数字)。有没有办法修复符号,或者我应该完全放弃这种方法?感谢您的 +/& 提示,我会更改它。
-
试试
Note_Denomination = Chr(128) & Note_Denomination