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

标签 vba excel

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

obsValue = CDbl(dataSplit(1))

dataSplit(1)的值是字符串21440.5395043259

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

Run time error '13:' Type mismatch.

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

enter image description here

我们都使用 Excel 2010。

怎么会这样?

最佳答案

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

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

obsValue = Val(dataSplit(1))

关于VBA 类型不匹配错误 - 不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44133453/

相关文章:

mysql - SQL 查询 "SELECT A.one, B.two FROM A INNER JOIN B ON A.three = B.three"的 Excel 等效项

vba - 在单元格 VBA 中创建指向工作表的超链接

sql-server - 添加带主键的链接表的 VBA 代码

VBA:Msgbox循环,对两个数字之间的值求和,包括

sharepoint - TFS2010 : Opening certain Excel reports gives error TF80076

excel - Excel VLookup 公式中的分隔查找字符串

vba - 在尝试取消选择之前检查 AutoFilter 中的元素

javascript - 在加载的网页上点击 anchor 标记按钮,然后使用 vba 点击“确定”按钮

java - eclipse:由于 "Could not read file ... ~$somefile.xlsx"而未构建项目

php - fatal error : Uncaught exception 'PHPExcel_Exception'