解决Excel VBA中的引号问题

我有一个在VBA中使用的Excel公式。 但是,当我编译它时,VBA会给我一个错误。

我确定这是因为我公式中的引号。

Range("E2:E" & lastRow).FormulaLocal = "=IFERROR(IF(VLOOKUP(D2,$B:$B,1,FALSE)=D2,"Form Present"),"Not Present")" 

这是我试图解决这个问题,

  Range("E2:E" & lastRow).FormulaLocal = "=IFERROR(IF(VLOOKUP(D2,$B:$B,1,FALSE)=D2,&Chr(34)&Form Present&Chr(34)&),&Chr(34)&Not Present&Chr(34)&)" 

我用chr(34)生成一个引号符号,但是这是行不通的。 任何解决方法?

要么用

 Range("E2:E" & lastRow).FormulaLocal = "=IFERROR(IF(VLOOKUP(D2,$B:$B,1,FALSE)=D2,""Form Present""),""Not Present"")" 

要么

 Range("E2:E" & lastRow).FormulaLocal = "=IFERROR(IF(VLOOKUP(D2,$B:$B,1,FALSE)=D2," & Chr(34) & "Form Present" & Chr(34) & ")," & Chr(34) & "Not Present" & Chr(34) & ")" 

只需加双引号,并将其更改为:

  Range("E2:E" & lastRow).FormulaLocal "=IFERROR(IF(VLOOKUP(D2,$B:$B,1,FALSE)=D2,""Form Present""),""Not Present"")" 

"=IF(1=1,"Y","N")" "=IF(1=1,""Y"",""N"")"