bottom
Great ExcelTips!
         
Your e-mail address is safe!
Close Note

Tips.Net > ExcelTips Home > Formatting > Automatically Copying Formatting

Automatically Copying Formatting

Summary: You can easily copy the contents of one cell to another using a formula. There is no way to similarly copy formatting from one cell to another. There are a couple of workarounds you can use, relying either on macros or on the Camera tool. (This tip works with Microsoft Excel 97, Excel 2000, Excel 2002, and Excel 2003.)

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:

=C7

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 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:

  1. Select the cells or range of which you want a picture taken.
  2. Click on the Camera tool. The mouse pointer changes to a large plus sign.
  3. Change to a different worksheet.
  4. Click where you want the top left-hand corner of the picture to appear. The picture is inserted as a graphic on the worksheet.

Tip #2769 applies to Microsoft Excel versions: 97 | 2000 | 2002 | 2003


Save Time! You can have this tip (and several hundred just like it) in the ExcelTips annual archives. Imagine having over 400 tips available at your fingertips, in each annual volume.

Helpful Links

Ask an Excel Question
Make a Comment

Tips.Net Home
Vital News Home

ExcelTips FAQ
ExcelTips Premium

Learn Access Now

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Pet Tips
Word2007 Tips
WordTips

Advertise on the
ExcelTips Site

 

Great Info!

Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your e-mail address and click "Subscribe."
     
(Your e-mail address will never be shared with anyone, ever.)