VBAtypes不匹配错误 – 不一致

好吧,我现在很困惑,我已经写了一些VBA,这是一个插件在Excel中。 有一行写道:

obsValue = CDbl(dataSplit(1)) 

dataSplit(1)的值是string21440.5395043259

这行代码工作好…对我来说。 对于我的代码的另一个用户,他们得到

运行时错误'13:'types不匹配。

他们点击debugging,将它们带到这行代码,然后将光标hover在dataSplitvariables上,它的确读取了与上面相同的值。

在这里输入图像描述

我们都使用Excel 2010。

怎么会这样?

Excel的语言设置将确定小数点分隔符是什么。 对您的用户来说,他们的语言设置可能不同,所以“。” 可能被视为千位分隔符。 CDbl函数是区域感知的,所以它根据当前用户的区域设置“看到”数字string。

您可以尝试使用Val函数,它将始终将小数点作为小数点分隔符。

obsValue = Val(dataSplit(1))