2015-10-10 82 views
1

我只想计算百分比为:百分比找到

Range("E7").Value "=(E5/(E5+E6))" 

,因为这是静态的范围内能正常工作。但是在此之后我插入一行,如:

Range("A1").EntireRow.insert 

现在的百分比列是静态的,但我希望公式移一行倒也为:

Range("E8").value = "(E6/(E6+E7))" 
+0

我认为这可能有助于展示更多的代码,并可能描述它应该做什么。 – pnuts

+1

对不起,无法复制。在范围(“E7”)之后,值=“=(E5 /(E5 + E6))”:范围(“A1”)。EntireRow.Insert'在E8中的公式为'=(E6 /(E6 + E7))'。但是你的问题中的第一个命令行缺少'=',你不应该使用'.Value'来应用公式。你应该使用'.Formula','Range(“E7”)。Formula =“=(E5 /(E5 + E6))”'。 –

回答

0

使用范围对象来解决这个问题,使用范围对象,当你插入或删除行或列时,它会移动。

Sub Answer() 
Dim percentage As Range 

Set percentage = Range("E7") 

Range("A1").EntireRow.Insert 

percentage.FormulaR1C1 = "=R[-2]C/(R[-2]C+R[-1]C)" 
End Sub