把复杂的公式放到一个单元格中

我想把一个公式给一个单元格,我将使用的值是基于另一个单元格(而不是一个固定的单元格)。 这是公式,如果它在Excel的公式栏上。

=IF(AND(D9=0,J9<>0),100%,IFERROR(K9/D9,0)) 

但是我不能在vba中使用它,因为在我将要使用的每个单元格中公式应该是灵活的。 这是我的代码(我知道它不好)

 ws.Range("L" & src1).Formula = "=IF(AND(" & ws.Range("D" & src1).Value & "=0," & ws.Range("J" & src1).Value & "<>0),100%,IFERROR(" & ws.Range("K" & src1).Value / ws.Range("D" & src1).Value & ",0))" 

假设src1是一个整数值,我相信你想要:

 ws.Range("L" & src1).Formula = "=IF(AND(D" & src1 & "=0,J" & src1 & "<>0),100%,IFERROR(K" & src1 & "/D" & src1 & ",0))"