1
我只想计算百分比为:百分比找到
Range("E7").Value "=(E5/(E5+E6))"
,因为这是静态的范围内能正常工作。但是在此之后我插入一行,如:
Range("A1").EntireRow.insert
现在的百分比列是静态的,但我希望公式移一行倒也为:
Range("E8").value = "(E6/(E6+E7))"
我只想计算百分比为:百分比找到
Range("E7").Value "=(E5/(E5+E6))"
,因为这是静态的范围内能正常工作。但是在此之后我插入一行,如:
Range("A1").EntireRow.insert
现在的百分比列是静态的,但我希望公式移一行倒也为:
Range("E8").value = "(E6/(E6+E7))"
使用范围对象来解决这个问题,使用范围对象,当你插入或删除行或列时,它会移动。
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
我认为这可能有助于展示更多的代码,并可能描述它应该做什么。 – pnuts
对不起,无法复制。在范围(“E7”)之后,值=“=(E5 /(E5 + E6))”:范围(“A1”)。EntireRow.Insert'在E8中的公式为'=(E6 /(E6 + E7))'。但是你的问题中的第一个命令行缺少'=',你不应该使用'.Value'来应用公式。你应该使用'.Formula','Range(“E7”)。Formula =“=(E5 /(E5 + E6))”'。 –