拆分后,Excel VBA在分割十进制数时给出类型不匹配

时间:2015-07-23 14:35:23

标签: excel vba excel-vba

我有以下代码,它接受一个字符串temp,肯定有2个数字用“(”分隔,然后对它们进行几个数学运算。我在尝试时遇到类型不匹配错误尽管如此,尽管使用CDec将它们转换为十进制数字。我可以做错什么?谢谢。

    tempArry = Split(temp, " ")
    tolTemp = (CDec(tempArry(LBound(tempArry)) + tempArry(LBound(tempArry) + 2))) / 2
    noms(j) = tolTemp
    tols(j) = tolTemp - CDec(tempArry(LBound(tempArry)))

1 个答案:

答案 0 :(得分:1)

根据您的评论,您似乎可以假设您可以添加两个字符串作为数字。

由于输入(temp变量)是一个字符串,因此您尝试添加的数组元素也是字符串,因此当您编写tempArry(LBound(tempArry)) + tempArry(LBound(tempArry) + 2)时,输出将是两个字符串的串联(这是112.34117.89 - 因此类型不匹配)。

要解决此问题,请在尝试添加之前将两者转换为十进制

tolTemp = (CDec(tempArry(LBound(tempArry))) + CDec(tempArry(LBound(tempArry) + 2))) / 2