更改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