2015-11-09 42 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

相关问题