我在工作簿中有5张 . 当我“手动”复制其中的两个(在同一工作簿中)时,新复制的工作表会自动更改引用(在单元格公式中) . 例如,在某些单元格中,我有以下公式:
=IF('1_Result'!B5="";NA();'1_Result'!B5*$C$3)
复制新工作表后,新工作表中的公式将更改为:
=IF('1_Result (2)'!B5="";NA();'1_Result (2)'!B5*$C$3)
其中“1_Result”是原始工作表,“1_Result(2)”是复制工作表 . 当我使用以下代码进行复制时:
t1.Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = nshn & "_Table"
...复制的工作表中的公式不会更改引用,因此它保持不变,如:
=IF('1_Result'!B5="";NA();'1_Result'!B5*$C$3)
我应该如何修改代码,以便更改引用?
3 回答
正如我在评论中提到的,如果您想要更新引用,请同时复制两张表:
这个对我有用:
Sheet1
最初有公式='1_Result'!B5
并且在复制之后页面Sheet1 (2)
具有公式='1_Result (2)'!B5
正如 simco 注意到的那样,我没有立刻将纸张复制在一起,而是一个接一个地复制 . 以下代码解决了这个问题:
在试图找出问题的同时,我找到了一种绝对不建议使用的替代解决方案,但可能对某人有所帮助 . 我使用的函数在单个工作表中将字符串替换为另一个字符串 . 这是代码: