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



我有以下代码,它接受字符串temp,其中肯定有两个数字由"("分隔,然后对它们进行一些数学运算。尽管使用CDec将它们转换为十进制数,但在尝试进行数学运算时,我还是遇到了类型不匹配错误。我能做错什么吗?谢谢。

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

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

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

要解决这个问题,在之前将它们都转换为十进制,尝试将它们相加:

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

最新更新