我正在尝试根据我正在运行的代码将复杂的公式从+更改为=。
当前,单元格(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) = "="
编辑:不是代码中的拼写错误
答案 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
的答案更容易阅读,可能更有效。