使用 VBA 将公式分配给单元格?
Assign formula to cell using VBA?
VBA 一直给我这个代码的错误 1004
:
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
谁能看一下?
分配给 .Formula
的公式必须使用 En-US 语言环境。因此,数字中的小数点必须是 .
,而不是 ,
(1+0.85+0.6+0.4+0.37
).
另外,您在 =
之后的开头缺少左括号。
您可能还想了解 Excel 中的绝对引用。这样您就可以将相同的公式复制到 FormulaCellsRange
中的所有单元格而无需替换任何内容:
Sub UpdateCellsFormula()
ActiveSheet.Range("J17", "J95").Formula = "=(D17*$L+E17*$M+F17*$O+G17*$N+H17*$P+I17*$Q)/(1+0.85+0.6+0.4+0.37)"
End Sub
VBA 一直给我这个代码的错误 1004
:
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
谁能看一下?
分配给 .Formula
的公式必须使用 En-US 语言环境。因此,数字中的小数点必须是 .
,而不是 ,
(1+0.85+0.6+0.4+0.37
).
另外,您在 =
之后的开头缺少左括号。
您可能还想了解 Excel 中的绝对引用。这样您就可以将相同的公式复制到 FormulaCellsRange
中的所有单元格而无需替换任何内容:
Sub UpdateCellsFormula()
ActiveSheet.Range("J17", "J95").Formula = "=(D17*$L+E17*$M+F17*$O+G17*$N+H17*$P+I17*$Q)/(1+0.85+0.6+0.4+0.37)"
End Sub