2013-05-31 70 views
2

我叫我的工作簿「cellabove」始終引用它的名字的RefersToR1C1屬性爲「= R [使用的單元格上方的單元格中的命名範圍。! - 1] C」。這使它可以應用在工作簿中的任何工作表上。的Excel命名的區域與相對引用不計算

當我運行刪除某些行則包含在他們的公式cellabove一些細胞不重新計算,即使我結束與application.calculatefullrebuild宏宏。但是,當我然後手動強制按CTRL + SHIFT + ALT + F9完全重建單元格重新計算。

任何想法如何強制相對引用的命名範圍刷新?

回答

1

使用referto,以!開頭!在定義名稱公式是恕我直言不建議,因爲有長期的錯誤。
您可以使用=INDIRECT("R[-1]C",FALSE)而不是

+0

偉大的解決方案。感謝Charles。 –

1

嘗試將這些計算選項之一到你的代碼,看看他們是否有效果。

Sub Calculate_It() 

    ActiveSheet.Calculate 
''// Equivalent to Shift+F9 Recalculates the active worksheet 

    Application.Calculate 
''// Equivalent to F9 Recalculates all worksheets in all open workbooks 

    Application.CalculateFull 
''// Equivalent to Ctrl+Alt+F9 Recalculates all worksheets in all open workbooks (Full recalculation) 

    Application.CalculateFullRebuild 
''// Equivalent to Shift+Ctrl+Alt+F9 Rebuilds the dependency tree and does a full recalculation 

End Sub 
+1

我已經說過我在我的代碼中有application.calculatefullrebuild。我也嘗試了所有其他選項。 –

+0

@ aardvark123查看您正在運行的代碼可能會有幫助。 –