How to Copy Cell Formatting to Another Range on Current/Another Worksheet in Excel

,

Sometimes we want to copy cell format to others to make cells or tables in unique format. We can check the cell format and then set the same format for the cells you want to apply the formatting, but this way is very complex and boring. We need some way simple and convenient to apply. This article will provide you two methods to suit your requirement. The first one is using Format Painter, the second one is Excel VBA, it can automate copy cell format to others.

For example, we have a table formatting as below:

Copy Cell Formatting to Another Range 1

This table is combined with 3 rows and 3 columns, it has bold borders and different colors of background. If we want to create a table with this format or make existing table copy this format, we can use format painter, please see details below.

Method 1: Copy Cell Formatting by Format Painter in Excel


Step 1: Drag and select the range B2:D5 you want to copy the formatting.

Copy Cell Formatting to Another Range 2

Step 2: Click Home->Format Painter in ribbon.

Copy Cell Formatting to Another Range 3

Verify that the selected range is highlighted. And cursor is changed to a painter.

Copy Cell Formatting to Another Range 4

Step 3: Drag and select the range you want to apply with the formatting. For example, F2:H5.

Step 4: Release your mouse. Verify that a table with the same format is created.

Copy Cell Formatting to Another Range 5

Step 5: If table is already created with values but the format is not applied, after copy cell formatting by format painter, the table will be applied with formatting properly.

Before:                                                                                          After:

Copy Cell Formatting to Another Range 6                           Copy Cell Formatting to Another Range 7

 Method 2: Copy Cell Formatting by Excel VBA


  1. Below method is applied for copy cell with only formatting to another range on current sheet or another sheet.

Step 1: Right click on Sheet1 to load Sheet management menu. Select View Code, Microsoft Visual Basic for Applications window pops up.

Or you can enter Microsoft Visual Basic for Applications window via Developer->Visual Basic.

Step 2: In Microsoft Visual Basic for Applications window, click Insert->Module, enter below code in Module1:

Sub CopyCellFormating()

Dim CopyRng As Range, PasteRng As Range

xTitleId = "CopyCellFormating"

Set CopyRng = Application.Selection

Set CopyRng = Application.InputBox("Source:", xTitleId, CopyRng.Address, Type:=8)

Set PasteRng = Application.InputBox("Destination:", xTitleId, Type:=8)

CopyRng.Copy

PasteRng.Parent.Activate

PasteRng.PasteSpecial xlPasteFormats

Application.CutCopyMode = False

End Sub

Step 3: Save the codes, see screenshot below. And then quit Microsoft Visual Basic for Applications.

Copy Cell Formatting to Another Range 8

Step 4: On current sheet1, click Developer->Macro, in Macro window, select CopyCellFormatting Macro, then click Run.

Copy Cell Formatting to Another Range 9

Step 5: CopyCellFormat input box pops up. In Source textbox, enter the range you want to copy cell formatting with. Then click OK.

Copy Cell Formatting to Another Range 10

Step 6: In Destination textbox, enter the range you want to apply the formatting with. Then click OK.

Copy Cell Formatting to Another Range 11

Step 7: Verify that F8:H11 are applied with the formatting.

Copy Cell Formatting to Another Range 12

Step 8: You can also run macro on another sheet like sheet2 to copy and apply cell formatting on sheet2, just add sheet1 when enter source range.

Copy Cell Formatting to Another Range 13

  1. Below method is applied for copy cell with both value and formatting to another worksheet.

Step 1: Right click on Sheet1 to load Sheet management menu. Select View Code, Microsoft Visual Basic for Applications window pops up.

Or you can enter Microsoft Visual Basic for Applications window via Developer->Visual Basic.

Step 2: In Microsoft Visual Basic for Applications window, click Insert->Module, enter below code in Module1:

Sub CopyCellValuesAndFormatting()

Sheets("Sheet1").Range("B2:D5").Copy Destination:=Sheets("Sheet2").Range("B2:D5")

End Sub

Step 3: Save the codes, see screenshot below. And then quit Microsoft Visual Basic for Applications.

Copy Cell Formatting to Another Range 14

Step 4: On sheet2, click Developer->Macro, in Macro window, select CopyCellValuesAndFormatting Macro, then click Run.

Copy Cell Formatting to Another Range 15

Step 5: Verify that table in sheet1 with values and formatting is copied to B2:D5 automatically in sheet2. You can clear the values in cells and re-enter your own data.

Comments:

  1. You can change Sheet and Range parameters to you owns to suit your requirement.
  2. This is only available for coping cell to another worksheet.