设置单元格公式时出现1004错误

时间:2014-06-13 11:03:41

标签: excel vba excel-vba excel-formula excel-2010

我有一个宏,每次单击一个按钮时都必须插入一个新行。 问题是某些列必须包含一个公式,例如:

rating = "=IF(OR(ISBLANK($K$" & lastRow & ");ISBLANK($N$" & lastRow & ")); 0; $K$" & lastRow & "*VLOOKUP($N$" & lastRow & "; Parameter!$M$12:$N$16; 2))"
    .Cells(lastRow, 15).Formula = rating

我尝试使用.Range("O" & lastRow).Formula = rating设置公式,但无论如何它都无法运行。 关于如何修复它的任何想法?

1 个答案:

答案 0 :(得分:0)

使用 .Formula .FormulaArray 时,必须使用默认的US-EN Office标准来设置公式,即使用逗号和英文函数名称。如果你想在你的代码中使用分号,因为你是使用法语中的Excel或任何其他语言,其中逗号实际上以数字符号表示(即1.5 vs 1,5),你将不得不使用 .FormulaLocal ,其中的函数名称也是用您的本地语言编写的。

如上所述,请注意,如果Excel没有使用与您相同的区域参数,则使用FormulaLocal的缺点是会使代码无法使用,这对Formula不是问题或FormulaArray,因为Excel会自动进行转换。