将公式添加到单元格VBA
我基本上试图以编程方式将公式添加到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
问题是,单元格的值是我添加的公式不改变,当我改变公式的演算中使用的单元格的值。
你不是在添加一个公式,而是在计算一个值,并把它放到单元格中。 你需要使用:
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
尝试这个,
Sub fmula() For i = 20 To 22 Range("P" & i).Formula = "= (2/3)*(K" & i & ")+(4/3)*((F" & i & ")+(G" & i & "))" Next End Sub