Excel VBA错误1004 – 应用程序定义或对象定义的错误,在我的公式中使用双引号

我试图使用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“应用程序定义或对象定义的错误”。

任何帮助,将不胜感激!

你应该把分号“;” 在IF中用逗号“,”。 当解释公式时,它们将显示为分号,取决于您的Excelconfiguration。

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

如果代码是在表单的代码中而不是在模块中,那么你的代码就可以工作。

所以

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

如果不是Sheet1,很明显会replace所需的工作表