2015-11-09 44 views
2

我有一個可以輸入值的Excel工作表。防止單元格公式發生變化

例如:

A2 = product name 

B2 = product number 

C2 = company number 

D2 = "#" (allway's the # sign 

E2 = "A1"&"D1"&"B1"&"D1"&"C1" 

按鈕之後按下一個宏WIL運行。這些值將自動剪切粘貼到歷史記錄表中。

單元格E2的公式會變爲粘貼值的位置(在本例中爲參考頁)。

我想阻止單元格E2中的公式更改,所以我在數字和字母前輸入了$符號。並在它之前輸入圖紙名稱。這根本沒有什麼不同。

有沒有人知道這樣的溶劑? (還是我尤斯特必須編寫modifys細胞E2回公式,我需要每一個值被剪切並粘貼到歷史片時間VBA代碼?)

Anwser感謝Jeeped

使用間接函數保持您的引用靜態!

完美適合我! (「'Sheet1'!D2」)&等等。

+0

不應該E2 =「A2」&「D2」&「B2」&「D2」&「C2」? – newguy

+0

不要*剪切和粘貼。 **複製**並粘貼,然後清除輸入單元格。 – Rory

+0

你可以在你的問題中顯示代碼嗎? – Davesexcel

回答

1

如果你想保持公式是靜態的,無論你移動,複製,置換或其他任何地方,那麼引用必須是靜態文本,並使用INDIRECT將它們返回到有效的單元格引用。

在E爲,

=INDIRECT("'Sheet1'!A2")&INDIRECT("'Sheet1'!D2")&INDIRECT("'Sheet1'!B2")&INDIRECT("'Sheet1'!D2")&INDIRECT("'Sheet1'!C2") 

必要時調整工作表的名稱。這些單元格地址不會改變,無論你如何處理它們(超出文本編輯)。

+0

這似乎工作!太好了,非常感謝 – Cornelis

相關問題