更改VBA中的小数点分隔符(不仅在Excel中)
键入A1单元格=1/10
运行这个macros:
Sub ChangeDecimalSeparator() Application.DecimalSeparator = "#" Application.UseSystemSeparators = False MsgBox Range("A1").Value End Sub
显然现在在单元格A1中,您可以看到小数点分隔符已被更改为新的字符#。 为什么地球上的VBA仍然认为它是你的默认分隔符,虽然你已经改变了它(我的意思是MsgBox)。
为什么我需要它? 我的默认分隔符是(逗号)。 我想插入数据到使用的SQL。 (点)。
我不能100%确定地说话,但是我相信虽然Application.DecimalSeparator
影响单元格中显示的内容,但看起来MsgBox
使用Windows语言环境默认值。
如果您尝试在Windows级别更改,会发生什么情况? 另外,你确定你的SQL插入不正确解释它?
如果需要,可能会尝试一个潜在的解决方法 kludge:
Dim x as Integer Dim xs as String x = 1.5 xs = replace(cstr(x),".", ",") SQLString = Stuff & xs & MoreStuff