我有一个宏,每次单击一个按钮时都必须插入一个新行。 问题是某些列必须包含一个公式,例如:
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
设置公式,但无论如何它都无法运行。
关于如何修复它的任何想法?
答案 0 :(得分:0)
使用 .Formula 或 .FormulaArray 时,必须使用默认的US-EN Office标准来设置公式,即使用逗号和英文函数名称。如果你想在你的代码中使用分号,因为你是使用法语中的Excel或任何其他语言,其中逗号实际上以数字符号表示(即1.5 vs 1,5),你将不得不使用 .FormulaLocal ,其中的函数名称也是用您的本地语言编写的。
如上所述,请注意,如果Excel没有使用与您相同的区域参数,则使用FormulaLocal
的缺点是会使代码无法使用,这对Formula
不是问题或FormulaArray
,因为Excel会自动进行转换。