如何解决这个错误1004? 重写该行

我在VBA中有以下代码行:

Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0;"";optional_processes,row()-39))" 

没有if-statement ,一些单元格显示0 。 我想这些0是空白。 这就是if-statement应该做的事情。 我认为它给出了应用程序或对象定义的错误,因为语句中的双引号。 我如何获得空白单元格而不是0

即使你当地的Excel使用; (分号)作为公式中的参数分隔符,当用VBA编写公式时,必须使用(逗号)

除此之外,这个公式还有一些问题:

  • 您在else -part处缺less一个index
  • 像Kresimirbuild议的那样使用""""而不是""
  • 像Kiran一样使用ISERROR在他的第一个build议中写道

我认为这将工作:

 Range("A40:A64").Formula = "=IF(isError(index(optional_processes,row()-39)),"""",index(optional_processes,row()-39))" 

尝试这个:

 Range("A40:A64").Formula = "=IF(ISERROR(index(optional_processes,row()-39)),'',index(optional_processes,row()-39))" 

要么

 Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0,"""",index(optional_processes,row()-39))"