在单元格中写入“dynamic”公式

单元格中没有填充公式,但在那里写入了“FALSE”。 任何想法如何改变,使公式显示正确? 虽然没有错误讯息

'code q = 1 Do Until q = 10 q = q + 1 If Cells(q, 4).HasFormula Then Else If IsEmpty(Cells(q, 4)) Then Cells(q, 4).Formula = Cells(q, 4).Formula = "=IFERROR(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE),)" End If End If Loop 'code 

编辑:更新的代码

非常感谢!

.Formula属性要求您使用美国的区域设置,所以:

 Cells(q, 5).Formula = "=IF(ISNA(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE)),"""",VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE)" 

另外,如果您使用Excel 2007或更高版本,我会build议使用IFERROR:

 Cells(q, 5).Formula = "=IFERROR(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE),"""") 

您需要使用&字符连接公式的文本与qvariables

  Cells(q, 4).Formula = "=IF(ISNA(VLOOKUP(D" & q & ";Lagerplätze!A:B;2;FALSE));"""";VLOOKUP(D" & q & ";Lagerplätze!A:B;2;FALSE))" 

编辑:添加缺less的右括号。