假设您有两个用于跟踪当月销售的工作簿,分别为2011NovemberA.xls和2011NovemberB.xls,而2011NovemberA.xls包含指向2011NovemberB.xls数据的链接。当需要复制新月份的工作簿时,您可能想知道更新第一个工作簿中所有链接的最佳方法,以便它们指向新月份的第二个工作簿。

为了准备新月份的工作簿,大多数人会打开Windows文件夹并在Windows中甚至在Excel中复制工作簿文件。

但是,这是保证您在更新文件中进行最多工作的方式。一种简单的方法是绕过Windows并在Excel中进行保存。请遵循以下一般步骤:

。在Excel中打开2011NovemberA.xls和2011NovemberB.xls。

。使用“另存为”将2011NovemberB.xls文件保存为2011DecemberB.xls。

。使用“另存为”将2011Novemberxls文件保存为2011DecemberA.xls。

作为保存2011DecemberB.xls(第2步)的一部分,Excel自动更新2011NovemberA.xls中的所有链接,以便它们指向新的文件名。然后,当您保存2011DecemberA.xls(第3步)时,您完成了该周期并最终获得了新月份的新工作簿,而上个月的文件仍然安全地保存在磁盘上。

如果由于某种原因无法在Excel中以新名称保存文件(也许其他人已经为新月份制作了工作簿副本并对该文件进行了更改),则您将需要对文件进行手动编辑链接。幸运的是,您可以使用Excel的“查找和替换”功能来帮助完成此任务:

。打开2011DecemberA.xls文件。

。按Ctrl + H以显示“查找和替换”对话框的“替换”选项卡。 (请参见图1。)

。在“查找内容”框中,输入旧工作表名称的根部分(2011NovemberB)。

。在“替换为”框中,输入新工作表名称(2011DecemberB)的根部分。

。单击全部替换。

Excel将遍历整个工作表(包括链接),并对相应的文本进行更改。

另一种方法是处理整个月度文件。换句话说,没有使文件名反映月份,而是将月份的所有工作簿放在以月份命名的单个文件夹中。在这种情况下,您可以有一个November文件夹,然后制作整个文件夹的副本并将其命名为December。然后,您将在单独的文件夹中有工作簿的重复副本。只要您不尝试同时打开两个月中的同一本工作簿,就可以单独与他们合作。 (Excel不允许您打开多个具有相同名称的工作簿。)

如果要使链接策略更灵活,则可以始终使用INDIRECT函数。例如,假设您的链接是这样的:

=[2011NovemberB.xls]Sheet1!B3

您可以将源文件的名称(2011NovemberB.xls)放在当前工作表(例如D5)的单元格中,并将上述表达式替换为这样的表达式:

=INDIRECT("[" & D5 & "]Sheet1!B3")

将单元格D5的内容更改为其他文件名将使该文件成为新的数据源。但是,有几个“陷阱”。

首先,您需要手动打开作为链接目标的文件。 Excel不会像常规链接那样为您完成此操作。

同样,包含空格的工作簿文件名将使INDIRECT公式生效。如果您认为文件名中可能有空格,则应将公式更改为:

=INDIRECT("['" & D5 & "']Sheet1!B3")

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3447)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: