VBA If-Then对象所需的错误

时间:2013-06-21 15:07:36

标签: vba if-statement runtime runtime-error

我正在尝试根据我正在运行的代码将复杂的公式从+更改为=。

当前,单元格(5,3).formula是+(ABS(Q29)* G29),但是我得到错误运行时错误'424':运行它时需要对象。在手表面板中,Left(Cells(5,3).Formula,1)返回“+”,代码在设置“+”到“=”时断开

If Left(Cells(5, 3).Formula, 1) = "+" Then
Left(Cells(5, 3).Formula, 1) = "="

编辑:不是代码中的拼写错误

3 个答案:

答案 0 :(得分:1)

我没有为应用程序做很多VBA,但是在VBScript中左(...)返回左边的字符,这对于为它分配内容没有意义。你可以尝试这样的事情:

Cells(5, 3).Formula = "=" & Right(Cells(5, 3).Formula, Len(Cells(5, 3).Formula) - 1)

这会将Forumla设置为使用“=”替换第一个字符的公式的当前值。

答案 1 :(得分:1)

此解决方案也可以使用:

Cells(5, 3).Formula = "=" & Cells(5, 3).Formula

将保留+,但公式在以=+开头时也有效。

答案 2 :(得分:0)

您可以使用Mid功能将“+”替换为“=”。它应该看起来像:

Cells(5, 3).Formula = "=" + Mid(Cells(5, 3).Formula, 2, Len(Cells(5, 3).Formula) - 1)

然而,Mike J使用Right的答案更容易阅读,可能更有效。