2015-01-10 63 views
-2

VBA一直给我一个错误1004此代码:使用VBA将公式分配给单元格?

Sub UpdateCellsFormula() 
Dim FormulaRange As Range 
Dim i As Integer 

Set FormulaCellsRange = Range("J17", "J95") 
i = 17 

For Each r In FormulaCellsRange.Cells 
    r.Formula = Replace("=D17*L21+E17*M21+F17*O21+G17*N21+H17*P21+I17*Q21)/(1+0,85+0,6+0,4+0,37)", "17", i) 
    i = i + 1 
Next 
End Sub 

任何人都可以看看吗?

+0

我要总结呢? –

回答

2

分配.Formula的公式必须在En-US区域设置。因此,数字中的小数点必须是.,而不是,1+0.85+0.6+0.4+0.37)。

此外,您还有一个缺失的开头括号,在=之后。

您也可能想了解Excel中的绝对引用。这样,你可以在同一个公式复制到FormulaCellsRange所有细胞,而无需更换任何东西:

Sub UpdateCellsFormula() 
    ActiveSheet.Range("J17", "J95").Formula = "=(D17*$L$21+E17*$M$21+F17*$O$21+G17*$N$21+H17*$P$21+I17*$Q$21)/(1+0.85+0.6+0.4+0.37)" 
End Sub 
相关问题