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: Automatically Copying Formatting.
One of the foundational features of Excel is to allow one cell to be equal to another cell. For instance, you could use the most simple of formulas in a cell:
This copies the contents from cell C7 to the current cell, and updates whenever the contents of cell C7 change. What if you are not just interested in copying cell values, but also want to copy formatting from one cell to another?
Unfortunately, there is no intrinsic way to do this in Excel. There are two workarounds you can try, however. First, you can create a macro that will find out whenever cell C7 changes, and if it does, the macro copies the contents of the cell (including formatting) to the target cell. For instance, the following macro will run every time there are changes in the worksheet. When the change is in cell C7, then the contents of C7 are copied to cell E3 on Sheet1.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("C7")) Is Nothing Then Range("C7").Copy (Worksheets("Sheet1").Range("E3")) End If End Sub
There are some downsides to this approach. First, it can be slow, particularly if you have quite a few cells that you want to copy in this manner. In addition, the macro only runs if the contents of cell C7 are actually changed, not if the formatting alone of C7 is changed. (There is no way to trigger an automatic event whenever formatting is changed.)
An alternative to the macro approach is to use the Camera tool in Excel. This has been covered in other issues of ExcelTips, but essentially the camera is a way to copy a dynamic image of a range of cells from one place to another. It is the image of the source cells that is shown, and it is shown as a graphic, not as the contents of any target cells. Since the graphic is dynamic, whenever the source cells are changed (including formatting), the image is also updated to reflect the change.
To use the Camera tool, you must customize your toolbar so that the tool is available; it is not available by default. When you are doing your customizing, the Camera tool is available on the Commands tab in the Tools section. It is near the bottom of the list of commands and looks—oddly enough—like a small camera.
With the Camera tool in place, follow these steps to use it:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2769) 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: Automatically Copying Formatting.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!