VBA类型不匹配错误 - 不一致

时间:2017-05-23 11:25:10

标签: excel vba excel-vba

好吧,我现在很困惑,我写了一些VBA,它是Excel中的一个插件。有一行写着:

obsValue = CDbl(dataSplit(1))

dataSplit(1)的值是字符串21440.5395043259

这行代码对我来说没问题。 对于我的代码的另一个用户,他们得到了

  

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

他们点击调试,它将他们带到这行代码,然后他们将光标悬停在dataSplit变量上,它确实读取了与上面相同的值。

enter image description here

我们都在使用Excel 2010。

这怎么可能?

1 个答案:

答案 0 :(得分:3)

Excel的语言设置将决定小数分隔符的含义。对于您的用户来说,他们的语言设置可能不同,因此"。"可能被视为千位分隔符。 CDbl函数可识别区域设置,因此它可以看到"根据当前用户的区域设置的数字字符串。

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

obsValue = Val(dataSplit(1))