我正在尝试使用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“应用程序定义的或对象定义的错误”。
任何帮助将不胜感激!
答案 0 :(得分:1)
你应该替换分号“;”在逗号“,”中的IF公式中。在解释公式时,它们将以分号显示,具体取决于您的Excel配置。
答案 1 :(得分:0)
我想你可能只需要参考相关的工作表。
如果代码位于工作表的代码中而不是模块中,则代码将起作用。
所以
Sheet1.Cells(destRow, 19) = "=IF(L" & destRow & "=" & chr(34) & chr(34) & ";" & chr(34) & chr(34) & ";" & chr(34) & "UNB" & chr(34) & ")"
如果不是Sheet1
,显然可以替换所需的纸张