我有一张包含大量数据的表格。然后,我有一个不同的工作表,引用第一个工作表中的多个单元格。如果我想要删除第一张纸并将其替换为相同的纸张(在每种意义上都相同,即纸张名称,每个单元格中的数据类型,格式等,除了每个单元格中的实际文本数据),其他表格丢失,我的所有单元格都会产生#REF!错误。
是否有任何方法可以保留参考资料并更换或覆盖工作表,而无需手动剪切和粘贴信息?
提前感谢,
乔治
答案 0 :(得分:1)
以下是我喜欢使用的解决方案:
move
(不复制)您要删除的工作表到新的/空工作簿。Data
标签(Excel菜单)Connections
►Edit Links
中。 请注意,在此解决方案中,替换表在插入时必须具有相同的名称。但是,您可以(当然)在上述过程完成后更改工作表名称。
我当然希望我能够充分解释。但是,如果您需要其他解释,请不要犹豫,告诉我。
答案 1 :(得分:0)
创建新工作表,然后执行查找&使用公式替换工作表以查找原始工作表名称并替换为新工作表名称。然后删除旧工作表,并将新工作表重命名为您想要的任何内容。
答案 2 :(得分:0)
阅读所有评论后,我的建议是采用以下方法(警告,这是一种解决方法,而不是一种干净的解决方案):
Sub DeleteSheets_KeepingReferences()
Dim sht As Worksheet
Set sht = ThisWorkbook.Sheets("")
sht.Cells.Replace What:="=", Replacement:="#$%", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'Delete sheet
Application.DisplayAlerts = False
wb.Sheets(sht).Delete
'Code to copy sheet
sht.Cells.Replace What:="#$%", Replacement:="=", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
基本上,我没有替换单元格中的工作表名称(@ TheGuyThatDoesn'tKnowMuch已经提出),而是替换了等号,暂时将单元格转换为文本,最后我再次转换了等号,如前所述,再次在所有单元格公式中创建公式。