我在VBA中有以下代码行:
Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0;"";optional_processes,row()-39))"
如果没有if-statement
,某些单元格会显示0
。我希望这些0
是空白的。这就是if-statement
应该做的事情。我认为它给出了应用程序或对象定义的错误,因为语句中有双引号。我怎样才能获得空白单元而不是0
?
答案 0 :(得分:2)
即使本地Excel在公式中使用;
(分号)作为参数分隔符,在使用VBA编写公式时,也必须使用,
(逗号)
除此之外,公式还存在一些问题:
index
- 部分else
""""
而非""
,如Kresimir建议ISERROR
我认为这会奏效:
Range("A40:A64").Formula = "=IF(isError(index(optional_processes,row()-39)),"""",index(optional_processes,row()-39))"
答案 1 :(得分:0)
试试这个:
Range("A40:A64").Formula = "=IF(ISERROR(index(optional_processes,row()-39)),'',index(optional_processes,row()-39))"
OR
Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0,"""",index(optional_processes,row()-39))"