gpt4 book ai didi

vba - excel vba内置函数的无效过程调用

转载 作者:行者123 更新时间:2023-12-04 22:10:03 24 4
gpt4 key购买 nike

以下代码抛出异常 Runtime Error 5: Invalid Procedure Call when the value found in the data in dataSheet.range.value一片空白
temp = Right(Trim(dataSheet.range("A" & i).value), Len(Trim(dataSheet.range("A" & i).value)) - 1)
所以我用这个修复了它:

If dataSheet.range("A" & i).value <> "" Then
temp = Right(Trim(dataSheet.range("A" & i).value), Len(Trim(dataSheet.range("A" & i).value)) - 1)
Else
Exit For
End If

我的问题是添加 If 语句是一个有效的修复?似乎更大的事情可能正在发生,这让我无法掌握......就像当 String 为 NULL 时 Right() 函数不应该只返回什么一样?

最佳答案

空单元格不为空。

问题在于您的公式:如果单元格为空或仅包含空格,Len(Trim(dataSheet.range("A" & i).value))为 0 和 Len(Trim(dataSheet.range("A" & i).value)) - 1-1 .当你运行 Right(someString, -1)你得到一个错误。

你应该这样做(它还处理只包含空格的单元格):

If Len(Trim(dataSheet.range("A" & i).value)) > 0 Then
temp = Right(Trim(dataSheet.range("A" & i).value), Len(Trim(dataSheet.range("A" & i).value)) - 1)
Else
...
End If

关于vba - excel vba内置函数的无效过程调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9684248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com