防止细胞配方发生变化

时间:2015-11-09 12:43:17

标签: excel vba excel-vba

我有一张可以输入值的Excel表格。

例如:

A2 = product name

B2 = product number

C2 = company number

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

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

按下按钮后,宏将运行。这些值将自动进行 被剪切成历史记录表。

Cell E2的公式会更改为粘贴值的位置(在本例中为the hisory sheet)。

我想阻止Cell E2中的公式改变,所以我在数字和字母之前输入了$符号。并在它之前输入了工作表名称。这根本没有什么不同。

有谁知道解决这个问题? (或者我是否必须编写一个vba代码,将每个值切割并粘贴到历史记录表中时,将单元格E2修改回我需要的公式?)

Anwser感谢Jeeped

使用间接功能使参考静止!

适合我的作品!

= INDIRECT( “ 'Sheet 1中' A2!”)及INDIRECT( “ 'Sheet 1中' D2!”)及等。

1 个答案:

答案 0 :(得分:2)

如果你想保持公式静态,无论你移动,复制,替换或其他任何地方,那么引用必须是静态文本,INDIRECT用于将它们返回到有效的单元格引用。

在E2中,

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

根据需要调整工作表名称。无论你用它们做什么,这些单元格地址都不会改变(除了文本编辑)。