我注意到excel中的奇怪和讨厌的行为可能是由于比利时的数字符号不同。当我在即时窗口中键入此内容时,我得到了违反直觉的结果:
?val("0,5")
0
?val("0.5")
0,5
所以我的解决方法是像这样使用它(通常字符串"0,5"被替换为textbox.value)
val(replace("0,5",",","."))
此外,当使用 numberformat() 函数时,这会让我陷入这种麻烦。
起初,我在文本框中有一个 KeyPresses,如下所示:
Select Case KeyAscii
Case vbKey0 To vbKey9, vbKeyBack, vbKeyClear, vbKeyDelete, vbKeyLeft, _
vbKeyRight, vbKeyUp, vbKeyDown, vbKeyTab, vbDecimal
Case Else
KeyAscii = 0
Beep
End Select
但是 vbDecimal 只允许我输入 '.' 作为小数点,然后在运行时它将被解释为乘以 1000 的值。
对此有任何启示吗?