我有一个Excel工作簿,其中包含一个“旧”表,该表在数千个公式中到处引用。我想用一个“新”表替换这个“旧”表,已经存在的表。因此,所有的公式都应该引用这个“新”表。我现在绝望地寻找一种方法来更新“旧”表的引用/名称,以仅指向“新”表范围。
对于不太熟悉这个主题的人来说,如果我重命名旧表,每个公式都会将引用更新为旧表的新名称。也许还有一种方法可以阻止公式更新该引用?
我试过搜索和替换,但我总是得到数百个错误,因为excel说公式无效,这是非常繁琐的。删除旧表给我一个参考!错误。我试过用vba更改旧表的范围或覆盖名称,但没有任何效果。
2条答案
按热度按时间3okqufwl1#
如果old_table已经被赋予了一个名称,并且该名称在所有公式中使用,则只需编辑该名称。
如果不是,并且old_table被行和列A1:G50引用,加上工作表名称,那么我会执行以下操作:
1.在引用old_table的工作表上,我将编辑/替换引用该表的单元格的“=”。我使用“xyxy”,因为它足够“奇数”
1.执行编辑/替换,将A1:G50替换为新表地址:例如B64:P90在所有相关细胞中。
1.用“=”编辑/替换“xyxy”,使公式再次生效。
这样做了很多次,但现在倾向于命名的东西,因为它使这些变化更容易...
rhfm7lfc2#
我的建议是简单地从旧表中删除除标题和第一行之外的所有内容,复制新表并将其粘贴到旧表中,覆盖第一行。Excel应该自动扩展表以适应新数据。
如果新表中的列数不同,请在粘贴新数据之前从旧表中添加/删除这些列。