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))」'。 –