excel vba:如果找不到公式A,则将公式设置为等于A或B

excel vba:如果找不到公式A,则将公式设置为等于A或B,excel,vba,Excel,Vba,我有一行vba代码,如下所示: ActiveCell.FormulaR1C1 = "=LOOKUP(""ETG_C"",RC[-10],RC[-8])" =IF(ISERROR(FIRST_STATEMENT),SECOND_STATEMENT,FIRST_STATEMENT) 我想知道,如果没有找到ETG\u C 例如: =if(not(LOOKUP(""ETG_C"",RC[-10],RC[-8]))) then =LOOKUP(""something_else"",RC[-10],RC

我有一行vba代码,如下所示:

ActiveCell.FormulaR1C1 = "=LOOKUP(""ETG_C"",RC[-10],RC[-8])"
=IF(ISERROR(FIRST_STATEMENT),SECOND_STATEMENT,FIRST_STATEMENT)
我想知道,如果没有找到
ETG\u C

例如:

=if(not(LOOKUP(""ETG_C"",RC[-10],RC[-8]))) then =LOOKUP(""something_else"",RC[-10],RC[-8])
是的,这是可能的

关键是使用iError(value)公式检查第一个公式是否存在错误

这是这样的:

ActiveCell.FormulaR1C1 = "=LOOKUP(""ETG_C"",RC[-10],RC[-8])"
=IF(ISERROR(FIRST_STATEMENT),SECOND_STATEMENT,FIRST_STATEMENT)
因此,在您的情况下,应该是这样的:

=if(iserror(LOOKUP(""ETG_C"",RC[-10],RC[-8])), LOOKUP(""something_else"",RC[-10],RC[-8]), LOOKUP(""ETG_C"",RC[-10],RC[-8]))