0

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

目前,cells(5,3).formula 为 +(ABS(Q29)*G29),但我收到错误 Run-time Error '424': Object required when running this。在手表面板中,Left(Cells(5,3).Formula,1) 返回“+”,将“+”设置为“=”时代码中断

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

已编辑:代码中没有拼写错误

4

3 回答 3

1

我没有为应用程序做太多的 VBA,但在 VBScript Left(..) 中返回左字符,给它分配一些东西是没有意义的。你可以尝试这样的事情:

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

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

于 2013-06-21T15:13:32.827 回答
1

此解决方案也将起作用:

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

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

于 2013-06-21T15:15:34.187 回答
0

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

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

但是,Mike J 的答案 usingRight更容易阅读并且可能更有效。

于 2013-06-21T15:14:17.073 回答