我基本上尝试使用以下代码以编程方式将公式添加到Excel工作表的某些单元格中:
'Ajout des formules de calcul de TD LABO
For i = 20 To 22
'Formule : TD=(2/3)*C2H6+C3H8+(4/3)*(i-C4H10+n-C4H10)
newWorkBook.Worksheets("Feuil1").Cells(i, 16).Formula = (2 / 3) * Cells(i, 11) + Cells(i, 14) + (4 / 3) * (Cells(i, 6) + Cells(i, 7))
'Calcul avec une décimale
newWorkBook.Worksheets("Feuil1").Cells(i, 16).NumberFormat = "0.0"
Next i
问题是当我改变公式'微积分中使用的单元格的值时,我添加的公式的值不会改变。
答案 0 :(得分:3)
您没有添加公式,而是计算一个值并将其放入单元格中。你需要使用:
For i = 20 To 22
'Formule : TD=(2/3)*C2H6+C3H8+(4/3)*(i-C4H10+n-C4H10)
newWorkBook.Worksheets("Feuil1").Cells(i, 16).FormulaR1C1 = "=(2/3)*RC11 +RC14+(4/3)*(RC6+RC7)"
'Calcul avec une décimale
newWorkBook.Worksheets("Feuil1").Cells(i, 16).NumberFormat = "0.0"
Next i
或没有循环:
'Formule : TD=(2/3)*C2H6+C3H8+(4/3)*(i-C4H10+n-C4H10)
With newWorkBook.Worksheets("Feuil1").Cells(22, 16).Resize(2)
.FormulaR1C1 = "=(2/3)*RC11 +RC14+(4/3)*(RC6+RC7)"
'Calcul avec une décimale
.NumberFormat = "0.0"
End With
答案 1 :(得分:1)
试试这个,
Sub fmula()
For i = 20 To 22
Range("P" & i).Formula = "= (2/3)*(K" & i & ")+(4/3)*((F" & i & ")+(G" & i & "))"
Next
End Sub