更新复制文件中的链接(Microsoft Excel)
假设您有两个用于跟踪当月销售的工作簿,即2020JuneA.xls和2020JuneB.xls,而2020JuneA.xls包含指向2020JuneB.xls数据的链接。当需要复制新月份的工作簿时,您可能想知道更新第一个工作簿中所有链接的最佳方法,以便它们指向新月份的第二个工作簿。
为了准备新月份的工作簿,大多数人会打开Windows文件夹并在Windows中甚至在Excel中复制工作簿文件。
但是,这是保证您在更新文件中进行最多工作的方式。一种简单的方法是绕过Windows并在Excel中进行保存。请遵循以下一般步骤:
。在Excel中同时打开2020JuneA.xls和2020JuneB.xls。
。使用“另存为”将2020JuneB.xls文件保存为名称2020JulyB.xls。
。使用“另存为”将2020Junexls文件保存为名称2020JulyA.xls。
作为保存2020JulyB.xls(步骤2)的一部分,Excel自动更新2020JuneA.xls中的所有链接,以便它们指向新文件名。然后,当您保存2020JulyA.xls(第3步)时,您完成了周期并最终获得了新月份的新工作簿,而过去一个月的文件仍然安全地保存在磁盘上。
如果由于某种原因无法在Excel中以新名称保存文件(也许其他人已经为新月份制作了工作簿副本并对该文件进行了更改),则您将需要对文件进行手动编辑链接。幸运的是,您可以使用Excel的“查找和替换”功能来帮助完成此任务:
。打开2020JulyA.xls文件。
。按Ctrl + H以显示“查找和替换”对话框的“替换”选项卡。 (请参见图1。)
。在“查找内容”框中,输入旧工作表名称(2020JuneB)的根部分。
。在“替换为”框中,输入新工作表名称的根部分(2020JulyB)。
。单击全部替换。
Excel将遍历整个工作表(包括链接),并对相应的文本进行更改。
另一种方法是处理整个月度文件。换句话说,没有使文件名反映月份,而是将月份的所有工作簿放在以月份命名的单个文件夹中。在这种情况下,您可以有一个June文件夹,然后复制整个文件夹并将其命名为July。然后,您将在单独的文件夹中有工作簿的重复副本。只要您不尝试同时打开两个月中的同一本工作簿,就可以单独与他们合作。 (Excel不允许您打开多个具有相同名称的工作簿。)
如果要使链接策略更灵活,则可以始终使用INDIRECT函数。例如,假设您的链接是这样的:
=[2020JuneB.xls]Sheet1!B3
您可以将源文件的名称(2020JuneB.xls)放在当前工作表(例如D5)的单元格中,并用以下表达式替换上面的表达式:
=INDIRECT("'[" & D5 & "']Sheet1!B3")
将单元格D5的内容更改为其他文件名将使该文件成为新的数据源。但是,有几个“陷阱”。
首先,您需要手动打开作为链接目标的文件。 Excel不会像常规链接那样为您完成此操作。
同样,包含空格的工作簿文件名将使INDIRECT公式生效。如果您认为文件名中可能有空格,则应将公式更改为:
=INDIRECT("['" & D5 & "]Sheet1'!B3")
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(11027)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: