Excel VBA错误1004-应用程序定义或对象定义的错误,公式中带双引号

Excel VBA错误1004-应用程序定义或对象定义的错误,公式中带双引号,excel,vba,ms-office,Excel,Vba,Ms Office,我正在尝试使用VBA将公式添加到Excel中的单元格中,其(简化)代码如下 Dim destRow as integer destRow = 107 Cells(destRow, 19) = "=IF(L" & destRow & "="""";"""";""UNB"")" `我还尝试了以下方法(代替最后一行): 在即时窗口中,两者都产生正确的输出: =IF(L107="";"";"UNB") …但是,当我运行代码时,在最后一行出现错误1004

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

    Dim destRow as integer
    destRow = 107
    Cells(destRow, 19) = "=IF(L" & destRow & "="""";"""";""UNB"")"
`我还尝试了以下方法(代替最后一行):

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

    =IF(L107="";"";"UNB")
…但是,当我运行代码时,在最后一行出现错误1004“应用程序定义或对象定义错误”


任何帮助都将不胜感激

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

如果代码在工作表的代码中,而不是在模块中,则代码可以工作

所以


显然,如果所需的工作表不是工作表1,请用它代替。我想您可能只需要参考相关的工作表即可

如果代码在工作表的代码中,而不是在模块中,则代码可以工作

所以


显然,如果所需的工作表不是Sheet1,则应将if公式中的“;”替换为逗号“,”。解释公式时,它们将显示为分号,具体取决于excel配置

应替换逗号“,”的IF公式中的分号“;”。解释公式时,它们将显示为分号,具体取决于excel配置

谢谢你的帮助,但不幸的是,在我的系统上不是这样。你在你的系统上试过代码了吗?我尝试了一个完全合格的单元格引用,结果完全一样。代码位于图纸模块中。在我的代码中,前面有一些行使用了相同类型的引用,但没有双引号,它们很好地激发了。不幸的是,我插入的公式需要双引号。谢谢你的帮助,但不幸的是,在我的系统中不是这样。你在你的系统上试过代码了吗?我尝试了一个完全合格的单元格引用,结果完全一样。代码位于图纸模块中。在我的代码中,前面有一些行使用了相同类型的引用,但没有双引号,它们很好地激发了。很遗憾,我插入的公式需要双引号。请尝试以下操作:
Cells(destRow,1)=“=IF(L”&destRow&“=”、“、”UNB“)”
Spot on Alex!谢谢你!这是怎么回事;还有,在excel中?在我的机器上,当公式在单元格中时,Excel需要;否则它会发出呜呜声,但当使用VBA时,如果我不使用,它会发出呜呜声,这是否与VBA中的日期格式(mm/dd/yyyy)类似,因为它需要某种格式?那么,为什么应用程序在常规界面中的行为会有所不同呢?再次感谢!这很奇怪——根据我的经验,我总是用逗号。这似乎是一个区域性的问题,我想这与以下事实有关:在某些区域中,一万是写10000,00的:
Cells(destRow,1)=“=IF(L”&destRow&=“UNB”)“
Spot on-on-Alex!谢谢你!这是怎么回事;还有,在excel中?在我的机器上,当公式在单元格中时,Excel需要;否则它会发出呜呜声,但当使用VBA时,如果我不使用,它会发出呜呜声,这是否与VBA中的日期格式(mm/dd/yyyy)类似,因为它需要某种格式?那么,为什么应用程序在常规界面中的行为会有所不同呢?再次感谢!这很奇怪——根据我的经验,我总是用逗号。这似乎是一个区域性的问题,我猜这与以下事实有关:在某些区域,一万是一万
    =IF(L107="";"";"UNB")
Sheet1.Cells(destRow, 19) = "=IF(L" & destRow & "=" & chr(34) & chr(34) & ";" & chr(34) & chr(34) & ";" & chr(34) & "UNB" & chr(34) & ")"