1

我正在尝试将使用 VBA 的公式添加到 Excel 中的单元格,(简化的)代码如下

    Dim destRow as integer
    destRow = 107
    Cells(destRow, 19) = "=IF(L" & destRow & "="""";"""";""UNB"")"

`我还尝试了以下方法(代替最后一行):

    Cells(destRow, 19) = "=IF(L" & destRow & "=" & chr(34) & chr(34) & ";" & chr(34) & chr(34) & ";" & chr(34) & "UNB" & chr(34) & ")"

在即时窗口中,两者都产生正确的输出:

    =IF(L107="";"";"UNB")

...但是,当我运行代码时,我在最后一行收到错误 1004“应用程序定义或对象定义错误”。

任何帮助,将不胜感激!

4

2 回答 2

1

您应该替换分号“;” 在逗号“,”的 IF 公式中。在解释公式时,它们将根据您的 Excel 配置显示为分号。

于 2014-01-28T14:47:06.573 回答
0

我想你可能只需要参考相关的工作表。

如果您的代码在工作表的代码中而不是在模块中,您的代码就会起作用。

所以

Sheet1.Cells(destRow, 19) = "=IF(L" & destRow & "=" & chr(34) & chr(34) & ";" & chr(34) & chr(34) & ";" & chr(34) & "UNB" & chr(34) & ")"

如果不是 Sheet1,显然替换所需的工作表

于 2013-11-02T09:22:54.853 回答