2015-10-10 127 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