Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Updating Links in Copied Files.
Let's say you have two workbooks that you use for tracking sales in the current month, 2011NovemberA.xls and 2011NovemberB.xls, and that 2011NovemberA.xls contains links to data in 2011NovemberB.xls. When it comes time to copy the workbooks for the new month, you may be wondering about the best way to update all the links in the first workbook so they point to the second workbook for the new month.
To prepare workbooks for the new month, most people will open a Windows folder and copy the workbook files within Windows, not even in Excel. This, however, is the way to guarantee that you do the most work in updating the files. A simpler way is to bypass Windows and do the saving in Excel. Follow these general steps:
As part of saving out 2011DecemberB.xls (step 2), Excel automatically updates all the links in 2011NovemberA.xls so that they point to the new file name. When you then save 2011DecemberA.xls (step 3), you complete the cycle and end up with the new workbooks for the new month, with the past month's files still secure on disk.
If saving the files under new names in Excel is not possible for some reason (perhaps someone else already made a copy of the workbook for the new month and made changes in the file) then you will need to resort to doing some manual editing of the links. Fortunately you can use the Find and Replace features of Excel to help in this task:
Figure 1. The Find and Replace dialog box.
Excel goes through the entire worksheet—including the links—and makes changes to the appropriate text.
Another approach is to deal with your monthly files as a whole. In other words, don't have the filenames reflect the month, but put all the workbooks for the month in a single folder that is named after the month. Under this scenario, you could have a November folder, and then make a copy of the whole folder and name it December. You would then have duplicate copies of the workbooks in separate folders. You could work with them independently, as long as you don't try to open the same workbook from both months at the same time. (Excel won't allow you to open multiple workbooks with the same name.)
If you want to make your linking strategy more flexible, you can always use the INDIRECT function. For instance, suppose that your link is something like this:
You could put the name of the source file (2011NovemberB.xls) in a cell in the current worksheet (D5, for example) and replace the above expression with one like this:
=INDIRECT("[" & D5 & "]Sheet1!B3")
Changing the contents of cell D5 to a different filename will make that file the new source of data. There are a couple of "gottchas," however. First of all, you need to manually open the file that is the target of the link; Excel won't do it for you as it would with a regular link. Also, workbook filenames that contain spaces will trip up the INDIRECT formula. If you think you might have spaces in your filenames, you should change the formula to this:
=INDIRECT("['" & D5 & "']Sheet1!B3")
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3447) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Updating Links in Copied Files.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!